{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T18:59:29.080Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4576",
  "document": {
    "abstract": "This document specifies a procedure that deals with a particular issue that may arise when a Service Provider (SP) provides \"BGP/MPLS IP VPN\" service to a customer and the customer uses OSPFv2 to advertise its routes to the SP. In this situation, a Customer Edge (CE) Router and a Provider Edge (PE) Router are OSPF peers, and customer routes are sent via OSPFv2 from the CE to the PE. The customer routes are converted into BGP routes, and BGP carries them across the backbone to other PE routers. The routes are then converted back to OSPF routes sent via OSPF to other CE routers. As a result of this conversion, some of the information needed to prevent loops may be lost. A procedure is needed to ensure that once a route is sent from a PE to a CE, the route will be ignored by any PE that receives it back from a CE. This document specifies the necessary procedure, using one of the options bits in the LSA (Link State Advertisements) to indicate that an LSA has already been forwarded by a PE and should be ignored by any other PEs that see it. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "authors": [
      {
        "name": "Eric C. Rosen"
      },
      {
        "name": "Peter Psenak"
      },
      {
        "name": "Padma Pillay-Esnault"
      }
    ],
    "authors$meta": {
      "confidence": "high",
      "note": "Parsed from Datatracker doc page article:author (profile full names)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docId": "RFC4576",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docLabel": "IETF RFC 4576",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docNumber": "4576",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docTitle": "Using a Link State Advertisement (LSA) Options Bit to Prevent Looping in BGP/MPLS IP Virtual Private Networks (VPNs)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docType": "Standard",
    "docType$meta": {
      "confidence": "high",
      "note": "Mapped from Datatracker std_level or RFC status text",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "doi": "10.17487/RFC4576",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "href": "https://doi.org/10.17487/RFC4576",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "keywords": [
      "Service Provider",
      "Provider Edge",
      "OSPF"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Service Provider",
        "Sp",
        "Provider Edge",
        "Pe",
        "OSPF"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:59:29.080Z",
      "version": "extractDocs.js@commit:8ad844f404e0"
    },
    "pages": "7",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publicationDate": "2006-06-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "references": {
      "normative": [
        "RFC328",
        "RFC4364",
        "RFC4577"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4576/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
      "updated": "2026-10-13T18:21:42.318Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "errataExist": true,
      "errataExist$meta": {
        "confidence": "high",
        "note": "Derived from presence of errata links on RFC/Datatracker pages",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc4576",
        "https://www.rfc-editor.org/errata_search.php?rfc=4576",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc4576.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "statusNote": "Proposed Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4576/",
        "updated": "2026-10-13T18:21:42.318Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    }
  }
}