{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-14T16:15:14.217Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC8012",
  "document": {
    "abstract": "Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) ping and traceroute are methods used to test Equal-Cost Multipath (ECMP) paths. Ping is known as a connectivity-verification method and traceroute is known as a fault-isolation method, as described in RFC 4379. When an LSP is signaled using the Entropy Label (EL) described in RFC 6790, the ability for LSP ping and traceroute operations to discover and exercise ECMP paths is lost for scenarios where Label Switching Routers (LSRs) apply different load-balancing techniques. One such scenario is when some LSRs apply EL-based load balancing while other LSRs apply load balancing that is not EL based (e.g., IP). Another scenario is when an EL-based LSP is stitched with another LSP that can be EL based or not EL based. This document extends the MPLS LSP ping and traceroute multipath mechanisms in RFC 6424 to allow the ability of exercising LSPs that make use of the EL. This document updates RFC 6790.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "authors": [
      {
        "name": "Nobo Akiya"
      },
      {
        "name": "George Swallow"
      },
      {
        "name": "Carlos Pignataro"
      },
      {
        "name": "Andrew G. Malis"
      },
      {
        "name": "Sam Aldrin"
      }
    ],
    "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/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docId": "RFC8012",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docLabel": "IETF RFC 8012",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docNumber": "8012",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "docTitle": "Label Switched Path (LSP) and Pseudowire (PW) Ping/Trace over MPLS Networks Using Entropy Labels (ELs)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "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/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "doi": "10.17487/RFC8012",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "href": "https://doi.org/10.17487/RFC8012",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "keywords": [
      "MPLS",
      "LSP Ping",
      "Entropy"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "pages": "23",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "publicationDate": "2016-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "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/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "version": "extractDocs.js@commit:1ff63569c1a0"
    },
    "references": {
      "bibliographic": [
        "RFC6391",
        "RFC7325",
        "orphan/RFC8012/h:45bc53da"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=10 proseBlocks=12 skippedAnchorBlocks=9",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "normative": [
        "RFC2119",
        "RFC4379",
        "RFC6424",
        "RFC6790",
        "RFC7537"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc8012/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
      "updated": "2026-10-14T16:15:14.217Z",
      "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/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "amends": [
        "RFC6790"
      ],
      "amends$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "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/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "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/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      },
      "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/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "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/rfc8012/",
        "updated": "2026-10-14T16:15:14.217Z",
        "version": "extractDocs.js@commit:1ff63569c1a0"
      }
    }
  }
}