{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T21:48:04.484Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9830",
  "document": {
    "abstract": "A Segment Routing (SR) Policy is an ordered list of segments (also referred to as \"instructions\") that define a source-routed policy. An SR Policy consists of one or more Candidate Paths (CPs), each comprising one or more segment lists. A headend can be provisioned with these CPs using various mechanisms such as Command-Line Interface (CLI), Network Configuration Protocol (NETCONF), Path Computation Element Communication Protocol (PCEP), or BGP. This document specifies how BGP can be used to distribute SR Policy CPs. It introduces a BGP SAFI for advertising a CP of an SR Policy and defines sub-TLVs for the Tunnel Encapsulation Attribute to signal information related to these CPs. Furthermore, this document updates RFC 9012 by extending the Color Extended Community to support additional steering modes over SR Policy.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Stefano Previdi"
      },
      {
        "name": "Clarence Filsfils"
      },
      {
        "name": "Ketan Talaulikar"
      },
      {
        "name": "Paul Mattes"
      },
      {
        "name": "Dhanendra Jain"
      }
    ],
    "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/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC9830",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.483Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 9830",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "9830",
    "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/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Advertising Segment Routing Policies in BGP",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "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/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC9830",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC9830",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "pages": "36",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2025-09-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "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/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-idr-bgp-ls-sr-policy-17",
        "IETF.draft-ietf-idr-bgp-model-18",
        "RFC4272",
        "RFC4456",
        "RFC6952",
        "RFC9552",
        "RFC9831",
        "IETF.draft-ietf-spring-sr-policy-yang-05"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC1997",
        "RFC2119",
        "RFC2545",
        "RFC3032",
        "RFC4271",
        "RFC4360",
        "RFC4760",
        "RFC5462",
        "RFC6286",
        "RFC7606",
        "RFC8126",
        "RFC8174",
        "RFC8402",
        "RFC8660",
        "RFC8754",
        "RFC8986",
        "RFC9012",
        "RFC9256"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9830/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
      "updated": "2026-10-20T21:48:04.484Z",
      "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/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "amends": [
        "RFC9012"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "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/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "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/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "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/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "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/rfc9830/",
        "updated": "2026-10-20T21:48:04.484Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}