{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T18:21:18.372Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4110",
  "document": {
    "abstract": "This document provides a framework for Layer 3 Provider-Provisioned Virtual Private Networks (PPVPNs). This framework is intended to aid in the standardization of protocols and mechanisms for support of layer 3 PPVPNs. It is the intent of this document to produce a coherent description of the significant technical issues that are important in the design of layer 3 PPVPN solutions. Selection of specific approaches, making choices regarding engineering tradeoffs, and detailed protocol specification, are outside of the scope of this framework document. This memo provides information for the Internet community.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "authors": [
      {
        "name": "Ross Callon"
      },
      {
        "name": "Muneyoshi Suzuki"
      }
    ],
    "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/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docId": "RFC4110",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docLabel": "IETF RFC 4110",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docNumber": "4110",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docTitle": "A Framework for Layer 3 Provider-Provisioned Virtual Private Networks (PPVPNs)",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docType": "Informational",
    "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/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "doi": "10.17487/RFC4110",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "href": "https://doi.org/10.17487/RFC4110",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "pages": "82",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publicationDate": "2005-07-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "references": {
      "bibliographic": [
        "RFC1195",
        "RFC1771",
        "RFC1918",
        "RFC1966",
        "RFC1997",
        "RFC2003",
        "RFC2205",
        "RFC2208",
        "RFC2210",
        "RFC2211",
        "RFC2212",
        "RFC2207",
        "RFC2328",
        "RFC2401",
        "RFC2402",
        "RFC2406",
        "RFC2409",
        "RFC2453",
        "RFC2473",
        "RFC2474",
        "RFC2475",
        "RFC2597",
        "RFC2661",
        "RFC2684",
        "RFC2685",
        "RFC2746",
        "RFC2764",
        "RFC2784",
        "RFC2890",
        "RFC2858",
        "RFC2983",
        "RFC3031",
        "RFC3032",
        "RFC3035",
        "RFC3065",
        "RFC3209",
        "RFC3246",
        "RFC3270",
        "RFC3377",
        "orphan/RFC4110/h:49189019",
        "orphan/RFC4110/h:69d7802e",
        "orphan/RFC4110/h:1631949a",
        "orphan/RFC4110/h:31718432",
        "orphan/RFC4110/h:ea4c5a37",
        "orphan/RFC4110/h:4fed0c7a",
        "orphan/RFC4110/h:f2f57d02",
        "orphan/RFC4110/h:b1ccca15"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=49 proseBlocks=61 skippedAnchorBlocks=53",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "normative": [
        "RFC3809",
        "RFC4031"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4110/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
      "updated": "2026-10-13T18:21:18.372Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "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/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc4110",
        "https://www.rfc-editor.org/errata_search.php?rfc=4110",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc4110.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "statusNote": "Informational",
      "statusNote$meta": {
        "confidence": "high",
        "note": "Mapped from Datatracker doc.json std_level",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4110/",
        "updated": "2026-10-13T18:21:18.372Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    }
  }
}