{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T17:04:15.773Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8077",
  "document": {
    "abstract": "Layer 2 services (such as Frame Relay, Asynchronous Transfer Mode, and Ethernet) can be emulated over an MPLS backbone by encapsulating the Layer 2 Protocol Data Units (PDUs) and then transmitting them over pseudowires (PWs). It is also possible to use pseudowires to provide low-rate Time-Division Multiplexed and Synchronous Optical NETworking circuit emulation over an MPLS-enabled network. This document specifies a protocol for establishing and maintaining the pseudowires, using extensions to the Label Distribution Protocol (LDP). Procedures for encapsulating Layer 2 PDUs are specified in other documents. This document is a rewrite of RFC 4447 for publication as an Internet Standard.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Luca Martini"
      },
      {
        "name": "Giles Heron"
      }
    ],
    "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/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC8077",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 8077",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "8077",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "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/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC8077",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC8077",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "pages": "35",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2017-02-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "RFC2277",
        "RFC3985",
        "RFC4842",
        "RFC4553",
        "RFC4619",
        "RFC4717",
        "RFC4618",
        "RFC4448",
        "RFC4447",
        "RFC6410",
        "RFC6723",
        "RFC7079",
        "ANSI.T1.105.1995",
        "T-REC-G.707.1996",
        "orphan/RFC8077/h:6e09d3d5"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=22 proseBlocks=26 skippedAnchorBlocks=22",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [
          "RFC2277",
          "RFC3985",
          "RFC4842",
          "RFC4553",
          "RFC4619",
          "RFC4717",
          "RFC4618",
          "RFC4448",
          "RFC4447",
          "RFC6410",
          "RFC6723",
          "RFC7079",
          "T-REC-G.707.1996",
          "orphan/RFC8077/h:5e1e1f14",
          "orphan/RFC8077/h:6e09d3d5"
        ],
        "overridden": true,
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T17:04:15.773Z",
        "version": "extractDocs.js@commit:8aec15acefbb"
      },
      "normative": [
        "RFC2119",
        "RFC5036",
        "RFC3032",
        "RFC4446",
        "RFC7358"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.440Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8077/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
      "updated": "2026-10-14T16:15:21.439Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.439Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc8077/",
        "updated": "2026-10-14T16:15:21.440Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.439Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "statusNote": "Internet Standard",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.440Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.440Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "supersedes": [
        "RFC4447",
        "RFC6723"
      ],
      "supersedes$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8077/",
        "updated": "2026-10-14T16:15:21.440Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}