{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T22:09:51.329Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7040",
  "document": {
    "abstract": "This document describes a mechanism called Public 4over6, which is designed to provide IPv4 Internet connectivity over an IPv6 access network using global IPv4 addresses. Public 4over6 was developed in the IETF and is in use in some existing deployments but is not recommended for new deployments. Future deployments of similar scenarios should use Lightweight 4over6. Public 4over6 follows the Hub and Spoke softwire model and uses an IPv4-in-IPv6 tunnel to forward IPv4 packets over an IPv6 access network. The bidirectionality of the IPv4 communication is achieved by explicitly allocating global non-shared IPv4 addresses to end users and by maintaining IPv4-IPv6 address binding on the border relay. Public 4over6 aims to provide uninterrupted IPv4 services to users, like Internet Content Providers (ICPs), etc., while an operator makes the access network transition to an IPv6-only access network.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Yong Cui"
      },
      {
        "name": "Jianping Wu"
      },
      {
        "name": "Peng Wu"
      },
      {
        "name": "Olivier Vautrin"
      },
      {
        "name": "Yiu Lee"
      }
    ],
    "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/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC7040",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 7040",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "7040",
    "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/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "Public IPv4-over-IPv6 Access Network",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "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/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC7040",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC7040",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "4over6",
      "IPv4 Over IPv6",
      "Access Network",
      "DHCP 4o6",
      "IPv6 Tunnel",
      "IPv6 Transition"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Public 4over6",
        "IPv4 Over IPv6",
        "Access Network",
        "DHCPv4 Over IPv6",
        "IPv6 Tunnel",
        "IPv6 Transition"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T22:09:51.329Z",
      "version": "extractDocs.js@commit:301bfdf288d8"
    },
    "pages": "13",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2013-11-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "orphan/RFC7040/h:3024c8df",
        "orphan/RFC7040/h:418d2315",
        "orphan/RFC7040/h:978482b0"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "note": "Citations without a standard ID, kept as MRI orphan refs (or resolved once the reference label was stripped)",
        "originalValue": null,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
        "updated": "2026-10-20T21:48:17.900Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC2473",
        "RFC4925",
        "RFC6333",
        "RFC6334"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7040/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
      "updated": "2026-10-20T21:45:29.783Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "status": {
      "active": true,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "latestVersion": true,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "superseded": false,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7040/",
        "updated": "2026-10-20T21:45:29.783Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}