{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T21:48:17.894Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7024",
  "document": {
    "abstract": "With BGP/MPLS Virtual Private Networks (VPNs), providing any-to-any connectivity among sites of a given VPN would require each Provider Edge (PE) router connected to one or more of these sites to hold all the routes of that VPN. The approach described in this document allows the VPN service provider to reduce the number of PE routers that have to maintain all these routes by requiring only a subset of these routers to maintain all these routes. Furthermore, when PE routers use ingress replication to carry the multicast traffic of VPN customers, the approach described in this document may, under certain circumstances, reduce bandwidth inefficiency associated with ingress replication and redistribute the replication load among PE routers.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Huajin Jeng"
      },
      {
        "name": "Jim Uttaro"
      },
      {
        "name": "Luay Jalil"
      },
      {
        "name": "Bruno Decraene"
      },
      {
        "name": "Yakov Rekhter"
      },
      {
        "name": "Rahul Aggarwal"
      }
    ],
    "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/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC7024",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.945Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 7024",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.945Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "7024",
    "docNumber$meta": {
      "confidence": "high",
      "note": "From the RFC index entry (rfc-index.xml <doc-id>)",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.945Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Virtual Hub-and-Spoke in BGP/MPLS VPNs",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.945Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "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/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC7024",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC7024",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "pages": "25",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2013-10-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "orphan/RFC7024/h:63e141e5"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "note": "Citations without a standard ID, kept as MRI orphan refs (or resolved once the reference label was stripped)",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
        "updated": "2026-10-20T21:48:17.894Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC2119",
        "RFC3031",
        "RFC4360",
        "RFC4364",
        "RFC4684",
        "RFC6513",
        "RFC6514",
        "RFC6625",
        "orphan/RFC7024/h:89318a9d"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7024/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
      "updated": "2026-10-20T21:45:28.946Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataExist": false,
      "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/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7024/",
        "updated": "2026-10-20T21:45:28.946Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}