{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T21:17:59.434Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8595",
  "document": {
    "abstract": "This document describes how Service Function Chaining (SFC) can be achieved in an MPLS network by means of a logical representation of the Network Service Header (NSH) in an MPLS label stack. That is, the NSH is not used, but the fields of the NSH are mapped to fields in the MPLS label stack. This approach does not deprecate or replace the NSH, but it acknowledges that there may be a need for an interim deployment of SFC functionality in brownfield networks.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.658Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "authors": [
      {
        "name": "Adrian Farrel"
      },
      {
        "name": "Stewart Bryant"
      },
      {
        "name": "John Drake"
      }
    ],
    "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/rfc8595/",
      "updated": "2026-10-20T17:33:21.658Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "docId": "RFC8595",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "docLabel": "IETF RFC 8595",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "docNumber": "8595",
    "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/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "docTitle": "An MPLS-Based Forwarding Plane for Service Function Chaining",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "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/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "doi": "10.17487/RFC8595",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.658Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "href": "https://doi.org/10.17487/RFC8595",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "keywords": [
      "SFC",
      "MPLS",
      "NSH"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "SFC",
        "MPLS",
        "Service Function Chaining",
        "NSH",
        "Network Service Header"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T21:17:59.434Z",
      "version": "extractDocs.js@commit:2d729ed26f61"
    },
    "pages": "32",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.658Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "publicationDate": "2019-06-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.657Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-bess-nsh-bgp-control-plane-11",
        "IETF.draft-ietf-mpls-opportunistic-encrypt-03",
        "RFC3031",
        "RFC4364",
        "RFC5920",
        "RFC7665",
        "RFC8402",
        "RFC8459",
        "IETF.draft-xuclad-spring-sr-service-programming-02"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=16 proseBlocks=23 skippedAnchorBlocks=17",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      },
      "normative": [
        "RFC2119",
        "RFC6790",
        "RFC7274",
        "RFC8174",
        "RFC8300",
        "RFC8393"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8595/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
      "updated": "2026-10-20T17:33:21.658Z",
      "version": "extractDocs.js@commit:8277ba975118"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      },
      "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/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      },
      "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/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8595/",
        "updated": "2026-10-20T17:33:21.658Z",
        "version": "extractDocs.js@commit:8277ba975118"
      }
    }
  }
}