{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-22T01:45:56.687Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9087",
  "document": {
    "abstract": "Segment Routing (SR) leverages source routing. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. A segment can represent any instruction, topological or service based. SR allows for the enforcement of a flow through any topological path while maintaining per-flow state only at the ingress node of the SR domain. The Segment Routing architecture can be directly applied to the MPLS data plane with no change on the forwarding plane. It requires a minor extension to the existing link-state routing protocols. This document illustrates the application of Segment Routing to solve the BGP Egress Peer Engineering (BGP-EPE) requirement. The SR-based BGP-EPE solution allows a centralized (Software-Defined Networking, or SDN) controller to program any egress peer policy at ingress border routers or at hosts within the domain.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "authors": [
      {
        "name": "Clarence Filsfils"
      },
      {
        "name": "Stefano Previdi"
      },
      {
        "name": "Gaurav Dawra"
      },
      {
        "name": "Ebben Aries"
      },
      {
        "name": "Dmitry Afanasiev"
      }
    ],
    "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/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "docId": "RFC9087",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "docLabel": "IETF RFC 9087",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "docNumber": "9087",
    "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/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "docTitle": "Segment Routing Centralized BGP Egress Peer Engineering",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "docType": "Informational",
    "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/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "doi": "10.17487/RFC9087",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "href": "https://doi.org/10.17487/RFC9087",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "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/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "publicationDate": "2021-08-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "references": {
      "bibliographic": [
        "RFC6241",
        "RFC7011",
        "RFC7854",
        "RFC7855",
        "RFC7911",
        "RFC8277",
        "RFC8281",
        "RFC8570",
        "RFC8571",
        "RFC8664"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      },
      "normative": [
        "RFC2119",
        "RFC7752",
        "RFC8174",
        "RFC8402",
        "RFC9086"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9087/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
      "updated": "2026-10-22T01:45:56.687Z",
      "version": "extractDocs.js@commit:acc1bcda23fc"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      },
      "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/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      },
      "statusNote": "Informational",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9087/",
        "updated": "2026-10-22T01:45:56.687Z",
        "version": "extractDocs.js@commit:acc1bcda23fc"
      }
    }
  }
}