{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-21T16:58:10.219Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8661",
  "document": {
    "abstract": "A Segment Routing (SR) 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 enforcing a flow through any topological path while maintaining per-flow state only at the ingress node to the SR domain. The Segment Routing architecture can be directly applied to the MPLS data plane with no change in the forwarding plane. This document describes how Segment Routing MPLS operates in a network where LDP is deployed and in the case where SR-capable and non-SR-capable nodes coexist.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "authors": [
      {
        "name": "Ahmed Bashandy"
      },
      {
        "name": "Clarence Filsfils"
      },
      {
        "name": "Stefano Previdi"
      },
      {
        "name": "Bruno Decraene"
      },
      {
        "name": "Stephane Litkowski"
      }
    ],
    "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/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docId": "RFC8661",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docLabel": "IETF RFC 8661",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docNumber": "8661",
    "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/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "docTitle": "Segment Routing MPLS Interworking with LDP",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "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/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "doi": "10.17487/RFC8661",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "href": "https://doi.org/10.17487/RFC8661",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "keywords": [
      "Segment Routing"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "pages": "21",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "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/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "references": {
      "bibliographic": [
        "RFC3031",
        "RFC3209",
        "RFC4364",
        "RFC5304",
        "RFC5709",
        "RFC5960",
        "RFC7490",
        "RFC8277",
        "RFC8287",
        "RFC8355",
        "RFC8665",
        "RFC8666",
        "RFC8667"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "normative": [
        "RFC2119",
        "RFC5036",
        "RFC8174",
        "RFC8402",
        "RFC8660"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8661/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
      "updated": "2026-10-21T16:58:10.219Z",
      "version": "extractDocs.js@commit:2c1e5418e9d0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "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/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "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/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8661/",
        "updated": "2026-10-21T16:58:10.219Z",
        "version": "extractDocs.js@commit:2c1e5418e9d0"
      }
    }
  }
}