{
  "$schema": "/api/schemas/documents.schema.json",
  "apiVersion": "1.1.0",
  "lastModified": "2026-10-20T22:12:25.496Z",
  "sourcePath": "src/main/data/docs",
  "docId": "RFC9291",
  "document": {
    "abstract": "This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices. Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.",
    "abstract$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML abstract",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "authors": [
      {
        "name": "Mohamed Boucadair"
      },
      {
        "name": "Oscar Gonzalez de Dios"
      },
      {
        "name": "Samier Barguil"
      },
      {
        "name": "Luis Angel Munoz"
      }
    ],
    "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/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docId": "RFC9291",
    "docId$meta": {
      "confidence": "high",
      "note": "Derived from RFC number or Datatracker identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docLabel": "IETF RFC 9291",
    "docLabel$meta": {
      "confidence": "high",
      "note": "Constructed from provider and document identifier",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docNumber": "9291",
    "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/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "docTitle": "A YANG Network Data Model for Layer 2 VPNs",
    "docTitle$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML title",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "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/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "doi": "10.17487/RFC9291",
    "doi$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML doi",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "href": "https://doi.org/10.17487/RFC9291",
    "href$meta": {
      "confidence": "high",
      "note": "Derived from DOI (https://doi.org/<doi>)",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "keywords": [
      "Automation",
      "Service Provider",
      "Network Automation",
      "Service Delivery"
    ],
    "keywords$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML keywords",
      "originalValue": [
        "Automation",
        "Service Provider",
        "Service Provisionning",
        "Network Automation",
        "Service Delivery"
      ],
      "overridden": true,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T22:12:25.496Z",
      "version": "extractDocs.js@commit:301bfdf288d8"
    },
    "pages": "139",
    "pages$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML page-count",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "publicationDate": "2022-09-01",
    "publicationDate$meta": {
      "confidence": "high",
      "note": "Parsed from RFC index XML date",
      "originalValue": null,
      "source": "parsed",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "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/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "version": "extractDocs.js@commit:92f3ced618ff"
    },
    "references": {
      "bibliographic": [
        "IETF.draft-ietf-idr-bgp-model-14",
        "IETF.draft-ietf-bess-evpn-pref-df-10",
        "IETF.draft-ietf-bess-evpn-yang-07",
        "IEEE.STD801.3AH.2008",
        "10.1109-IEEESTD.2004.94617",
        "10.1109-IEEESTD.2020.9105034",
        "10.1109-IEEESTD.2018.8403927",
        "IETF.draft-ietf-teas-ietf-network-slices-14",
        "GITHUB.mbj4668.pyang.201802",
        "RFC2507",
        "RFC2508",
        "RFC3032",
        "RFC3545",
        "RFC3644",
        "RFC4448",
        "RFC4553",
        "RFC4618",
        "RFC4619",
        "RFC4664",
        "RFC4717",
        "RFC4816",
        "RFC4842",
        "RFC4863",
        "RFC4901",
        "RFC5086",
        "RFC5087",
        "RFC5143",
        "RFC5795",
        "RFC5880",
        "RFC6307",
        "RFC7209",
        "RFC7267",
        "RFC7297",
        "RFC7951",
        "RFC8309",
        "RFC8340",
        "RFC8343",
        "RFC8345",
        "RFC8453",
        "RFC8519",
        "RFC8792",
        "RFC8960",
        "RFC8969",
        "IETF.draft-ietf-teas-te-service-mapping-yang-11",
        "IETF.draft-ietf-teas-enhanced-vpn-11",
        "IETF.draft-ietf-opsawg-sap-09",
        "orphan/RFC9291/h:9f707f7f"
      ],
      "bibliographic$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML references/informative sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "normative": [
        "10.1109-IEEESTD.2007.4431836",
        "10.1109-IEEESTD.2018.8467507",
        "T-REC-G.8013.2015",
        "RFC3688",
        "RFC4026",
        "RFC4446",
        "RFC4667",
        "RFC4761",
        "RFC4762",
        "RFC6020",
        "RFC6074",
        "RFC6241",
        "RFC6242",
        "RFC6624",
        "RFC6991",
        "RFC7432",
        "RFC7623",
        "RFC7950",
        "RFC8040",
        "RFC8077",
        "RFC8214",
        "RFC8294",
        "RFC8341",
        "RFC8342",
        "RFC8365",
        "RFC8446",
        "RFC8466",
        "RFC8584",
        "RFC9181",
        "orphan/RFC9291/h:c3d32d37",
        "orphan/RFC9291/h:170f7aa3"
      ],
      "normative$meta": {
        "confidence": "high",
        "note": "Parsed from RFC HTML normative references sections",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    },
    "resolvedHref": "https://www.rfc-editor.org/info/rfc9291/",
    "resolvedHref$meta": {
      "confidence": "high",
      "note": "Final URL resolved via URL redirect verification",
      "originalValue": null,
      "source": "resolved",
      "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
      "updated": "2026-10-20T21:47:35.088Z",
      "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/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "errataUrl": [
        "https://www.rfc-editor.org/errata/rfc9291",
        "https://www.rfc-editor.org/errata_search.php?rfc=9291",
        "https://www.rfc-editor.org/rfc/inline-errata/rfc9291.html"
      ],
      "errataUrl$meta": {
        "confidence": "high",
        "note": "Parsed from errata links on RFC/Datatracker pages",
        "originalValue": [],
        "source": "parsed",
        "sourceUrl": "https://www.rfc-editor.org/info/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "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/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      },
      "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/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "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/rfc9291/",
        "updated": "2026-10-20T21:47:35.088Z",
        "version": "extractDocs.js@commit:92f3ced618ff"
      }
    }
  }
}