{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-16T16:59:17.373Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4970",
  "document": {
    "abstract": "It is useful for routers in an OSPFv2 or OSPFv3 routing domain to know the capabilities of their neighbors and other routers in the routing domain. This document proposes extensions to OSPFv2 and OSPFv3 for advertising optional router capabilities. A new Router Information (RI) Link State Advertisement (LSA) is proposed for this purpose. In OSPFv2, the RI LSA will be implemented with a new opaque LSA type ID. In OSPFv3, the RI LSA will be implemented with a new LSA type function code. In both protocols, the RI LSA can be advertised at any of the defined flooding scopes (link, area, or autonomous system (AS)). [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "authors": [
      {
        "name": "Acee Lindem"
      },
      {
        "name": "Naiming Shen"
      },
      {
        "name": "JP Vasseur"
      },
      {
        "name": "Rahul Aggarwal"
      },
      {
        "name": "Scott Shaffer"
      }
    ],
    "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/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docId": "RFC4970",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docLabel": "IETF RFC 4970",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docNumber": "4970",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "docTitle": "Extensions to OSPF for Advertising Optional Router Capabilities",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "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/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "doi": "10.17487/RFC4970",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "href": "https://doi.org/10.17487/RFC4970",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "keywords": [
      "OSPF",
      "OSPFv3",
      "Router Information",
      "LSA"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Ospfv2",
        "OSPFv3",
        "OSPF",
        "Ri",
        "Router Information",
        "LSA"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T16:59:17.373Z",
      "version": "extractDocs.js@commit:30d92d8ed083"
    },
    "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/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publicationDate": "2007-07-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "publisher": "IETF",
    "publisher$meta": {
      "confidence": "high",
      "note": "Static: provider",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "references": {
      "bibliographic": [
        "RFC4973",
        "RFC3623",
        "RFC3137",
        "orphan/RFC4970/h:7ffe342a"
      ],
      "bibliographic$meta": {
        "confidence": "medium",
        "flag": "MIXED_REF_LAYOUT_RISK anchored=9 proseBlocks=12 skippedAnchorBlocks=10",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "reviewRequired": true,
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "normative": [
        "RFC2370",
        "RFC2328",
        "RFC2740",
        "RFC2119",
        "RFC3630"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4970/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
      "updated": "2026-10-16T15:47:31.644Z",
      "version": "extractDocs.js@commit:e0fe4a71cd26"
    },
    "status": {
      "active": false,
      "active$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "latestVersion": false,
      "latestVersion$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "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/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "superseded": true,
      "superseded$meta": {
        "confidence": "high",
        "note": "Derived from supersession relationship fields",
        "originalValue": null,
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      },
      "supersededBy": [
        "RFC7770"
      ],
      "supersededBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "resolved",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4970/",
        "updated": "2026-10-16T15:47:31.644Z",
        "version": "extractDocs.js@commit:e0fe4a71cd26"
      }
    }
  }
}