{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T16:08:13.315Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9746",
  "document": {
    "abstract": "An Ethernet Virtual Private Network (EVPN) is commonly used with Network Virtualization Overlay (NVO) tunnels as well as with MPLS and Segment Routing (SR) tunnels. The multihoming procedures in EVPN may vary based on the type of tunnel used within the EVPN Broadcast Domain. Specifically, there are two multihoming split-horizon procedures designed to prevent looped frames on multihomed Customer Edge (CE) devices: the Ethernet Segment Identifier (ESI) Label-based procedure and the local-bias procedure. The ESI Label-based split-horizon procedure is applied to MPLS-based tunnels such as MPLS over UDP (MPLSoUDP), while the local-bias procedure is used for other tunnels such as Virtual eXtensible Local Area Network (VXLAN) tunnels. Current specifications do not allow operators to choose which split-horizon procedure to use for tunnel encapsulations that support both methods. Examples of tunnels that may support both procedures include MPLSoUDP, MPLS over GRE (MPLSoGRE), Generic Network Virtualization Encapsulation (Geneve), and Segment Routing over IPv6 (SRv6) tunnels. This document updates the EVPN multihoming procedures described in RFCs 7432 and 8365, enabling operators to select the split-horizon procedure that meets their specific requirements.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "authors": [
      {
        "name": "Jorge Rabadan"
      },
      {
        "name": "Kiran Nagaraj"
      },
      {
        "name": "Wen Lin"
      },
      {
        "name": "Ali Sajassi"
      }
    ],
    "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/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docId": "RFC9746",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docLabel": "IETF RFC 9746",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "docNumber": "9746",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T16:08:13.315Z",
      "version": "extractDocs.js@commit:cc2368606b5f"
    },
    "docTitle": "BGP EVPN Multihoming Extensions for Split-Horizon Filtering",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "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/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "doi": "10.17487/RFC9746",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "href": "https://doi.org/10.17487/RFC9746",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "keywords": [
      "EVPN",
      "Split Horizon Filtering",
      "ESI",
      "Encapsulation"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "EVPN Multihoming",
        "Split Horizon Filtering",
        "Local Bias",
        "ESI",
        "Encapsulations",
        "SHT"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T16:08:13.315Z",
      "version": "extractDocs.js@commit:cc2368606b5f"
    },
    "pages": "17",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "publicationDate": "2025-03-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "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/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "version": "extractDocs.js@commit:6ff5f1bb34e3"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-bess-evpn-geneve-08",
        "RFC4023",
        "RFC7348",
        "RFC7510",
        "RFC7606",
        "RFC7637",
        "RFC8402",
        "RFC8660",
        "RFC8754",
        "RFC8926",
        "RFC8986",
        "RFC9012",
        "IETF.draft-ietf-nvo3-vxlan-gpe-13",
        "orphan/RFC9746/h:1415116d"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "normative": [
        "RFC2119",
        "RFC7432",
        "RFC8126",
        "RFC8174",
        "RFC8365",
        "RFC9252"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9746/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
      "updated": "2026-10-20T09:42:45.587Z",
      "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/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "amends": [
        "RFC7432",
        "RFC8365"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      },
      "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/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "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/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "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/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "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/rfc9746/",
        "updated": "2026-10-20T09:42:45.587Z",
        "version": "extractDocs.js@commit:6ff5f1bb34e3"
      }
    }
  }
}