{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T16:07:57.898Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8950",
  "document": {
    "abstract": "Multiprotocol BGP (MP-BGP) specifies that the set of usable next-hop address families is determined by the Address Family Identifier (AFI) and the Subsequent Address Family Identifier (SAFI). The AFI/SAFI definitions for the IPv4 address family only have provisions for advertising a next-hop address that belongs to the IPv4 protocol when advertising IPv4 Network Layer Reachability Information (NLRI) or VPN-IPv4 NLRI. This document specifies the extensions necessary to allow the advertising of IPv4 NLRI or VPN-IPv4 NLRI with a next-hop address that belongs to the IPv6 protocol. This comprises an extension of the AFI/SAFI definitions to allow the address of the next hop for IPv4 NLRI or VPN-IPv4 NLRI to also belong to the IPv6 protocol, the encoding of the next hop to determine which of the protocols the address actually belongs to, and a BGP Capability allowing MP-BGP peers to dynamically discover whether they can exchange IPv4 NLRI and VPN-IPv4 NLRI with an IPv6 next hop. This document obsoletes RFC 5549.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "authors": [
      {
        "name": "Stephane Litkowski"
      },
      {
        "name": "Swadesh Agrawal"
      },
      {
        "name": "Krishnaswamy Ananthamurthy"
      },
      {
        "name": "Keyur Patel"
      }
    ],
    "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/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docId": "RFC8950",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docLabel": "IETF RFC 8950",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docNumber": "8950",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T16:07:57.898Z",
      "version": "extractDocs.js@commit:cc2368606b5f"
    },
    "docTitle": "Advertising IPv4 Network Layer Reachability Information (NLRI) with an IPv6 Next Hop",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "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/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "doi": "10.17487/RFC8950",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "href": "https://doi.org/10.17487/RFC8950",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "keywords": [
      "BGP",
      "MVPN",
      "L3VPN"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "BGP",
        "Mvpn",
        "Vpnv4",
        "Vpnv6"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T16:07:57.898Z",
      "version": "extractDocs.js@commit:cc2368606b5f"
    },
    "pages": "12",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "publicationDate": "2020-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "references": {
      "bibliographic": [
        "RFC5549",
        "RFC4272",
        "RFC4659",
        "RFC4684",
        "RFC4798",
        "RFC4925",
        "RFC5565",
        "RFC6074",
        "RFC6513",
        "RFC6514",
        "orphan/RFC8950/h:37c2fd75",
        "orphan/RFC8950/h:c4e3077c",
        "orphan/RFC8950/h:4a5ae99c"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "normative": [
        "RFC2119",
        "RFC2545",
        "RFC4291",
        "RFC4364",
        "RFC4760",
        "RFC5492",
        "RFC8174",
        "RFC8277"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8950/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
      "updated": "2026-10-20T09:42:41.802Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "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/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/eid5253"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "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/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "supersedes": [
        "RFC5549"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8950/",
        "updated": "2026-10-20T09:42:41.802Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    }
  }
}