{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-13T18:58:41.796Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC4090",
  "document": {
    "abstract": "This document defines RSVP-TE extensions to establish backup label-switched path (LSP) tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds, in the event of a failure. Two methods are defined here. The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair. The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network. [STANDARDS-TRACK]",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "authors": [
      {
        "name": "Ping Pan"
      },
      {
        "name": "George Swallow"
      },
      {
        "name": "Alia Atlas"
      }
    ],
    "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/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docId": "RFC4090",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docLabel": "IETF RFC 4090",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docNumber": "4090",
    "docNumber$meta": {
      "confidence": "high",
      "note": "Parsed from RFC info page report metadata",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "docTitle": "Fast Reroute Extensions to RSVP-TE for LSP Tunnels",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "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/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "doi": "10.17487/RFC4090",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "href": "https://doi.org/10.17487/RFC4090",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "keywords": [
      "RSVP",
      "Traffic Engineering",
      "LSP",
      "One-to-one Backup",
      "Facility Backup"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "RSVP",
        "Traffic Engineering",
        "LSP",
        "Label Switch Path",
        "One-to-one Backup",
        "Facility Backup"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:58:41.796Z",
      "version": "extractDocs.js@commit:8ad844f404e0"
    },
    "pages": "38",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "publicationDate": "2005-05-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "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/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "version": "extractDocs.js@commit:6d30695438dd"
    },
    "references": {
      "normative": [
        "RFC2205",
        "RFC3209",
        "RFC2119",
        "RFC2434",
        "orphan/RFC4090/h:0f65a5fa"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc4090/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
      "updated": "2026-10-13T18:21:17.553Z",
      "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/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "amendedBy": [
        "RFC8271",
        "RFC8537",
        "RFC8796",
        "RFC9705"
      ],
      "amendedBy$meta": {
        "confidence": "high",
        "note": "Parsed from RFC index XML",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "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/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc4090",
        "https://www.rfc-editor.org/errata_search.php?rfc=4090",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc4090.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "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/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      },
      "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/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "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/rfc4090/",
        "updated": "2026-10-13T18:21:17.553Z",
        "version": "extractDocs.js@commit:6d30695438dd"
      }
    }
  }
}