{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T22:10:50.933Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8664",
  "document": {
    "abstract": "Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on \"segments\" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks. This document updates RFC 8408.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Siva Sivabalan"
      },
      {
        "name": "Clarence Filsfils"
      },
      {
        "name": "Jeff Tantsura"
      },
      {
        "name": "Wim Henderickx"
      },
      {
        "name": "Jonathan Hardwick"
      }
    ],
    "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/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC8664",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 8664",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "8664",
    "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/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "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/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC8664",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC8664",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "Segment Routing",
      "Traffic Engineering",
      "PCE"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Segment Routing",
        "Traffic-Engineering",
        "PCE"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T22:10:50.933Z",
      "version": "extractDocs.js@commit:301bfdf288d8"
    },
    "pages": "29",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2019-12-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "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/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-6man-segment-routing-header-26",
        "IETF.draft-ietf-idr-bgp-ls-segment-routing-msd-09",
        "IETF.draft-ietf-pce-pcep-yang-13",
        "RFC3209",
        "RFC4657",
        "RFC7420",
        "RFC8126",
        "RFC8413",
        "RFC8476",
        "RFC8665",
        "RFC8667",
        "IETF.draft-ietf-spring-segment-routing-policy-05"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC2119",
        "RFC3032",
        "RFC5440",
        "RFC8174",
        "RFC8231",
        "RFC8281",
        "RFC8402",
        "RFC8408",
        "RFC8491",
        "RFC8660"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8664/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
      "updated": "2026-10-20T21:46:19.240Z",
      "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/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "amendedBy": [
        "RFC9756",
        "RFC9933"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "amends": [
        "RFC8408"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc8664",
        "https://www.rfc-editor.org/errata_search.php?rfc=8664",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc8664.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "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/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "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/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "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/rfc8664/",
        "updated": "2026-10-20T21:46:19.240Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}