{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T21:45:29.234Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC7031",
  "document": {
    "abstract": "The DHCPv6 protocol, defined in RFC 3315, allows for multiple servers to operate on a single network; however, it does not define any way the servers could share information about currently active clients and their leases. Some sites are interested in running multiple servers in such a way as to provide increased availability in case of server failure. In order for this to work reliably, the cooperating primary and secondary servers must maintain a consistent database of the lease information. RFC 3315 allows for, but does not define, any redundancy or failover mechanisms. This document outlines requirements for DHCPv6 failover, enumerates related problems, and discusses the proposed scope of work to be conducted. This document does not define a DHCPv6 failover protocol.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Tomek Mrugalski"
      },
      {
        "name": "Kim Kinnear"
      }
    ],
    "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/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC7031",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 7031",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "7031",
    "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/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "DHCPv6 Failover Requirements",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "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/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC7031",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC7031",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "DHCPv6",
      "Failover"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "pages": "17",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2013-09-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "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/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "RFC2136",
        "RFC5970",
        "RFC6853",
        "orphan/RFC7031/h:48b2d3f1",
        "orphan/RFC7031/h:c6361e64"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=8 proseBlocks=14 skippedAnchorBlocks=9",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "RFC3315",
        "RFC3633",
        "RFC4704"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc7031/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc7031/",
      "updated": "2026-10-20T21:45:29.234Z",
      "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/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "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/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "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/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "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/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "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/rfc7031/",
        "updated": "2026-10-20T21:45:29.234Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}