{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T20:46:35.110Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7510",
  "document": {
    "abstract": "This document specifies an IP-based encapsulation for MPLS, called MPLS-in-UDP for situations where UDP (User Datagram Protocol) encapsulation is preferred to direct use of MPLS, e.g., to enable UDP-based ECMP (Equal-Cost Multipath) or link aggregation. The MPLS- in-UDP encapsulation technology must only be deployed within a single network (with a single network operator) or networks of an adjacent set of cooperating network operators where traffic is managed to avoid congestion, rather than over the Internet where congestion control is required. Usage restrictions apply to MPLS-in-UDP usage for traffic that is not congestion controlled and to UDP zero checksum usage with IPv6.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "authors": [
      {
        "name": "Xiaohu Xu"
      },
      {
        "name": "Nischal Sheth"
      },
      {
        "name": "Lucy Yong"
      },
      {
        "name": "Ross Callon"
      },
      {
        "name": "David L. Black"
      }
    ],
    "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/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docId": "RFC7510",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docLabel": "IETF RFC 7510",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docNumber": "7510",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "docTitle": "Encapsulating MPLS in UDP",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "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/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "doi": "10.17487/RFC7510",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "href": "https://doi.org/10.17487/RFC7510",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "keywords": [
      "MPLS",
      "UDP",
      "Tunnel",
      "Checksum",
      "Encapsulation",
      "ECMP"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "pages": "19",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publicationDate": "2015-04-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-tsvwg-circuit-breaker-01",
        "RFC2474",
        "RFC2914",
        "RFC4023",
        "RFC4817",
        "RFC5640",
        "RFC6438"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=17 proseBlocks=23 skippedAnchorBlocks=19",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "normative": [
        "RFC768",
        "RFC2119",
        "RFC2460",
        "RFC3032",
        "RFC4301",
        "RFC5332",
        "RFC5405",
        "RFC6347",
        "RFC6935",
        "RFC6936"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7510/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
      "updated": "2026-10-16T20:46:35.110Z",
      "version": "extractDocs.js@commit:2c3b1db1b97b"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "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/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc7510",
        "https://www.rfc-editor.org/errata_search.php?rfc=7510",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc7510.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "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/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7510/",
        "updated": "2026-10-16T20:46:35.110Z",
        "version": "extractDocs.js@commit:2c3b1db1b97b"
      }
    }
  }
}