LSVR M. Jethanandani, Ed. Internet-Draft K. Patel Intended status: Standards Track Arrcus, Inc Expires: 5 May 2027 A. MahendraBabu Cisco, Inc 1 November 2026 A YANG Model for BGP-LS, BGP-LS-VPN, and BGP-LS-SPF draft-ietf-lsvr-bgp-ls-yang-05 Abstract This document defines a YANG data model for configuration and management of BGP-LS, BGP-LS-VPN, and BGP-LS-SPF. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 5 May 2027. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Jethanandani, et al. Expires 5 May 2027 [Page 1] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . . . 5 4. YANG Models . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. BGP Link-State YANG model . . . . . . . . . . . . . . . . 7 4.2. BGP Link-State Database YANG model . . . . . . . . . . . 35 4.3. BGP Link-State Topology Types YANG model . . . . . . . . 60 4.4. BGP Link-State Topology Attributes YANG model . . . . . . 80 4.5. BGP Link-State Topology OSPF YANG model . . . . . . . . . 129 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 135 6. Security Considerations . . . . . . . . . . . . . . . . . . . 136 6.1. The "ietf-bgp-ls" YANG Module . . . . . . . . . . . . . . 136 6.2. Modules without Data Nodes . . . . . . . . . . . . . . . 139 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.1. Normative References . . . . . . . . . . . . . . . . . . 139 7.2. Informative References . . . . . . . . . . . . . . . . . 142 Appendix A. Complete Tree Diagram . . . . . . . . . . . . . . . 142 Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 221 B.1. OSPFv2 Instance . . . . . . . . . . . . . . . . . . . . . 221 B.2. OSPFv3 Instance . . . . . . . . . . . . . . . . . . . . . 223 B.3. IS-IS Instance . . . . . . . . . . . . . . . . . . . . . 225 B.4. BGP Instance . . . . . . . . . . . . . . . . . . . . . . 227 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 229 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 229 1. Introduction [RFC9552] describes a mechanism by which Link-State (LS) and Traffic Engineering (TE) topology information can be collected from Interior Gateway Protocols (IGPs) and distributed to external components using the Border Gateway Protocol (BGP). When combined with the Shortest Path First (SPF) algorithm, this mechanism allows BGP to compute routes directly from the distributed topology. [RFC9815] describes BGP Link-State Shortest Path First (BGP-LS-SPF) routing, a mode that enables BGP to serve as both the underlay and overlay protocol in Massively Scaled Data Centers (MSDCs). This document defines a YANG 1.1 [RFC7950] data model for configuring BGP-LS, BGP-LS-VPN, and BGP- LS-SPF on a router. It also defines a read-only model for the Link- State Database (LSDB), which stores the Node, Link, Prefix, and SRv6 Segment Identifier (SID) Network Layer Reachability Information (NLRI) received via BGP-LS. Jethanandani, et al. Expires 5 May 2027 [Page 2] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 The data model is organized across five YANG modules. The ietf-bgp- ls module augments the BGP configuration model to add the three new address families: BGP-LS, BGP-LS-VPN, and BGP-LS-SPF. The ietf-bgp- lsdb module provides the read-only Link-State Database, together with submodules that define the Node, Link, Prefix, and SRv6 SID NLRI types and their associated attributes. The attribute definitions in those submodules cover the IGP topology attributes from [RFC9552], the Segment Routing extensions from [RFC9085], the BGP Peering Segment extensions from [RFC9086], the Flexible Algorithm extensions from [RFC9351], and the SRv6 extensions from [RFC9514]. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2. Terminology This section defines terms and acronyms used throughout this document. Terms imported from other specifications are listed with their source. BGP SPF Routing Domain: A BGP routing domain operating in BGP-LS-SPF mode, as defined in Section 2 of [RFC9815]. All routers in the domain exchange BGP- LS-SPF NLRIs and independently run SPF to compute their routing tables. BGP-LS-SPF NLRI: A BGP-LS NLRI type used to carry Node, Link, and Prefix reachability information in a BGP-LS-SPF routing domain, as defined in [RFC9815]. 2.1. Acronyms This document uses the following acronyms. +============+============================================+ | Acronym | Definition | +============+============================================+ | AFI | Address Family Indicator | +------------+--------------------------------------------+ | BGP | Border Gateway Protocol | +------------+--------------------------------------------+ | BGP-LS | BGP Link-State | Jethanandani, et al. Expires 5 May 2027 [Page 3] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 +------------+--------------------------------------------+ | BGP-LS-SPF | BGP Link-State Shortest Path First | +------------+--------------------------------------------+ | EPE | Egress Peer Engineering | +------------+--------------------------------------------+ | FAD | Flexible Algorithm Definition | +------------+--------------------------------------------+ | IS-IS | Intermediate System to Intermediate System | +------------+--------------------------------------------+ | LS | Link-State | +------------+--------------------------------------------+ | LSA | Link-State Advertisement | +------------+--------------------------------------------+ | LSDB | Link-State Database | +------------+--------------------------------------------+ | MSD | Maximum SID Depth | +------------+--------------------------------------------+ | MSDC | Massively Scaled Data Center | +------------+--------------------------------------------+ | NLRI | Network Layer Reachability Information | +------------+--------------------------------------------+ | OSPF | Open Shortest Path First | +------------+--------------------------------------------+ | SAFI | Subsequent Address Family Indicator | +------------+--------------------------------------------+ | SID | Segment Identifier | +------------+--------------------------------------------+ | SPF | Shortest Path First | +------------+--------------------------------------------+ | SR | Segment Routing | +------------+--------------------------------------------+ | SRGB | Segment Routing Global Block | +------------+--------------------------------------------+ | SRLB | Segment Routing Local Block | +------------+--------------------------------------------+ | SRLG | Shared Risk Link Group | +------------+--------------------------------------------+ | SRv6 | Segment Routing over IPv6 | +------------+--------------------------------------------+ | TE | Traffic Engineering | +------------+--------------------------------------------+ | TLV | Type-Length-Value | +------------+--------------------------------------------+ | VRF | Virtual Routing and Forwarding | +------------+--------------------------------------------+ Table 1: Acronyms Jethanandani, et al. Expires 5 May 2027 [Page 4] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 3. Tree Diagram The tree diagram below shows an abridged view of the ietf-bgp-ls module and the top-level containers of the ietf-bgp-lsdb module. The bgp-ls-topology container holds one or more instances, each identified by a VRF name, protocol (IS-IS Level 1 or Level 2, OSPFv2, OSPFv3, or BGP), and a 64-bit domain identifier. Within each instance, separate containers hold the Node, Link, Prefix, and SRv6 SID NLRIs indexed by their protocol-specific key fields. A complete tree diagram is provided in Appendix A. Annotations used in the diagram are defined in [RFC8340]. module: ietf-bgp-ls augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:global /bgp:afi-safis/bgp:afi-safi: +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 | +--ro bgp-ls-topology | +--ro instances | ... +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw instance-identifier? uint64 +--rw algorithm-type? spf-algorithm-type +--rw node-status? enumeration +--ro log | +--ro event* (id) | ... +--ro bgp-ls-topology +--ro instances ... augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:neighbors /bgp:neighbor/bgp:afi-safis/bgp:afi-safi: Jethanandani, et al. Expires 5 May 2027 [Page 5] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw metric? uint32 +--rw status? enumeration augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:neighbors /bgp:neighbor/bgp:statistics: +--ro updates-sent? yang:zero-based-counter32 +--ro updates-received? yang:zero-based-counter32 +--ro error-updates-received? yang:zero-based-counter32 +--ro computations? yang:zero-based-counter32 +--ro triggering-events? yang:zero-based-counter32 +---x clear {ibt:clear-statistics}? +---w input | +---w clear-at? yang:date-and-time +--ro output +--ro clear-finished-at? yang:date-and-time augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:peer-groups /bgp:peer-group/bgp:afi-safis/bgp:afi-safi: +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean Jethanandani, et al. Expires 5 May 2027 [Page 6] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw metric? uint32 +--rw status? enumeration augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:rib/bgp:afi-safis /bgp:afi-safi: +--ro link-state +--ro loc-rib | +--ro routes | ... +--ro neighbors +--ro neighbor* (neighbor-address) ... Figure 1: Tree Diagram for BGP-LS, BGP-LS-SPF YANG Model 4. YANG Models 4.1. BGP Link-State YANG model The ietf-bgp-ls module augments the BGP model [I-D.ietf-idr-bgp-model] to add support for three new Address Family Indicator (AFI) / Subsequent Address Family Indicator (SAFI) combinations: BGP-LS, BGP-LS-VPN, and BGP-LS-SPF. The BGP model is augmented both at a global level and at a neighbor level to add support for the three new AFI/SAFI combinations. In addition, there is support for per-address-family statistics both at a global and at a neighbor level. The clear-statistics feature defined in [I-D.ietf-idr-bgp-model] is used in this model to determine whether the ability to clear statistics is supported. The ietf-bgp-ls module also augments the BGP RIB defined in [I-D.ietf-idr-bgp-model] with a link-state container that is present when the AFI/SAFI is BGP-LS, BGP-LS-VPN, or BGP-LS-SPF. Following the structure used for the IPv4 and IPv6 unicast address families, it contains a Loc-RIB and, for each neighbor, Adj-RIB-In and Adj-RIB-Out tables, both pre- and post-policy. Each route is keyed by its encoded Link-State NLRI, as defined in Section 5.2 of [RFC9552], together with the path identifier and, in the Loc-RIB, the route origin. The encoded NLRI is used as the key because most NLRI descriptors are optional, and because Section 5.2.1.4 of [RFC9552] identifies an NLRI by a binary comparison of its encoding, including any sub-TLVs unknown to the implementation. A key built from decoded descriptors could therefore map two distinct NLRIs to the same entry. The decoded descriptors Jethanandani, et al. Expires 5 May 2027 [Page 7] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 are instead reported as non-key leaves of each route: the Route Distinguisher for BGP-LS-VPN, the local and remote Node Descriptors (including the BGP Router-ID and Member-ASN defined in [RFC9086]), the Link Descriptors, and the Prefix Descriptors. Routes reference the shared path attribute sets of the BGP RIB and carry the BGP-LS Attribute in its encoded form; its decoded contents are available in the LSDB. For BGP-LS-SPF, each route also reports the sequence number that [RFC9815] uses in place of the BGP decision process to select among NLRIs. The clear-routes feature defined in [I-D.ietf-idr-bgp-model] determines whether routes in the Adj-RIB tables can be cleared. The module imports ietf-yang-types and ietf-inet-types [RFC9911], ietf-routing [RFC8349], ietf-routing-types [RFC8294], ietf-isis [RFC9130], ietf-ospf [RFC9129], the BGP module from [I-D.ietf-idr-bgp-model], and the ietf-bgp-ls-topo-types and ietf- bgp-lsdb modules defined in this document. file "ietf-bgp-ls@2026-11-02.yang" module ietf-bgp-ls { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-bgp-ls"; prefix bgp-ls; import ietf-inet-types { prefix inet; reference "RFC 9911: Common YANG Data Types."; } import ietf-yang-types { prefix yang; reference "RFC 9911: Common YANG Data Types."; } import ietf-routing { prefix rt; reference "RFC 8349, A YANG Data Model for Routing Management (NMDA Version)."; } import ietf-routing-types { prefix ietf-rt-t; reference "RFC 8294: Common YANG Data Types for the Routing Area."; } import ietf-isis { prefix ietf-isis-t; Jethanandani, et al. Expires 5 May 2027 [Page 8] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9130: YANG Data Model for IS-IS Protocol."; } import ietf-ospf { prefix ietf-ospf-t; reference "RFC 9129: YANG Data Model for the OSPF Protocol."; } import ietf-bgp { prefix bgp; reference "I-D.ietf-idr-bgp-model: BGP YANG Model for Service Provider Networks."; } import iana-bgp-afi-safi-types { prefix bast; reference "I-D.ietf-idr-bgp-model: BGP YANG Model for Service Provider Networks."; } import ietf-bgp-types { prefix ibt; reference "I-D.ietf-idr-bgp-model: BGP YANG Model for Service Provider Networks."; } import ietf-bgp-lsdb { prefix bgp-lsdb; reference "RFC XXXX: A YANG model for BGP-LS, BGP-LS-VPN, and BGP-LS-SPF."; } import ietf-bgp-ls-topo-types { prefix bgp-ls-topo-t; reference "RFC XXXX: A YANG model for BGP-LS, BGP-LS-VPN, and BGP-LS-SPF."; } organization "IETF LSVR Working Group"; contact "WG Web: WG List: Authors: Mahesh Jethanandani (mjethanandani at gmail.com), Keyur Patel (keyur at arrcus.com), Aravind Babu MahendraBabu (aramahen at cisco.com)"; Jethanandani, et al. Expires 5 May 2027 [Page 9] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "This module contains contains management information for BGP-LS database. Copyright (c) 2023 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; revision 2026-11-02 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } // Identities. identity bgp-ls { base bast:afi-safi-type; description "BGP Link-State."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-vpn { base bast:afi-safi-type; description "BGP Link-State VPN."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; Jethanandani, et al. Expires 5 May 2027 [Page 10] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } identity bgp-ls-spf { base bast:afi-safi-type; description "BGP Link-State Shortest Path First (BGP-LS-SPF)."; reference "RFC 9815: BGP Link-State SPF Routing."; } identity attribute-type { description "Base identity for BGP-LS Attribute type."; } identity multi-topology-identifier { base attribute-type; description "Multi Topology Identifier TLV."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity node-flag-bits { base attribute-type; description "The Node Flag Bits TLV."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity opaque-node-attribute { base attribute-type; description "The Opaque Node Attribute TLV."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity node-name { base attribute-type; description "The Node Name TLV."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Jethanandani, et al. Expires 5 May 2027 [Page 11] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Information Using BGP."; } identity isis-area-identifier { base attribute-type; description "IS-IS Area Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity ipv4-route-id-of-local-node { base attribute-type; description "IPv4 Router-ID of Local Node."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity ipv6-router-id-of-local-node { base attribute-type; description "IPv6 Router-ID of Local Node."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } // Typedefs typedef spf-algorithm-type { type enumeration { enum normal { description "Normal Shortest Path First (SPF) algorithm based on link metric. This is the standard shortest path algorithm as computed by the IGP protocol. Consistent with the deployed practice for link-state protocols, Algorithm 0 permits any node to overwrite the SPF path with a different path based on its local policy."; } enum strict { description "Strict Shortest Path First (SPF) algorithm based on link metric. The algorithm is identical to Algorithm 0 but Algorithm 1 requires that all nodes along the path will honor the SPF routing decision. Local policy at the node Jethanandani, et al. Expires 5 May 2027 [Page 12] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 claiming support for Algorithm 1 MUST NOT alter the SPF paths computed by Algorithm 1"; } enum unknown { description "Unknown Algorithm"; } } description "SPF algorithm type."; } // Groupings grouping bgp-neighbor-ls-common { description "Grouping for neighbor configuration for Link-State."; leaf metric { type uint32; default 10; description "Metric associated with the corresponding link to be used in the SPF graph computation."; } leaf status { type enumeration { enum reachable { description "The link is reachable in the current SPF topology."; } enum unreachable { description "The link is unreachable in the current SPF topology."; } } default reachable; description "Sets SPF-Status of the corresponding LS Link NLRI."; } } grouping bgp-mp-ls { description "Grouping for BGP-LS paramters."; Jethanandani, et al. Expires 5 May 2027 [Page 13] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container link-state { when "derived-from-or-self(../../bgp:afi-safi/bgp:name, " + "'bgp-ls')" { description "Include this container for BGP Linkstate specific configuration"; } presence "This container is for BGP Linkstate specific congfiguration."; description "Information related to Link-State configuration and management."; uses bgp:mp-all-afi-safi-common; leaf max-rate { type uint32; units per-second; default 200; description "Maximum rate at which Link-State NLRIs will be advertised or withdrawn from neighbors."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf max-number { type uint32; description "Maximim number of Link-State NLRIs stored in a router's RIB."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } } } grouping bgp-mp-ls-spf { description "Grouping for BGP-LS-SPF parameters."; container link-state-spf { when "derived-from-or-self (../../bgp:afi-safi/bgp:name, " + "'bgp-ls-spf')" { Jethanandani, et al. Expires 5 May 2027 [Page 14] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Include this container for BGP Link-State SPF specific configuration"; } description "BGP Linkstate-SPF configuration options"; uses bgp:mp-all-afi-safi-common; } } grouping bgp-ls-rib-route-key { description "Grouping for the key that identifies a Link-State NLRI in the BGP RIB."; leaf nlri { type yang:hex-string; description "The Link-State NLRI, encoded as specified in RFC 9552, starting with the NLRI Type field. For BGP-LS-VPN, the NLRI includes the Route Distinguisher. The encoded NLRI is used as the key because RFC 9552 identifies an NLRI by a binary comparison of its encoding, including any sub-TLVs unknown to the implementation. The decoded descriptors of the NLRI are provided as non-key leaves."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } } grouping bgp-ls-rib-node-descriptors { description "Decoded Node Descriptor sub-TLVs of a Link-State NLRI. Leaves are present only when the corresponding sub-TLV is present in the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1.4."; leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the link-state information."; } Jethanandani, et al. Expires 5 May 2027 [Page 15] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf bgp-ls-identifier { type uint32; status deprecated; description "BGP-LS Identifier. Deprecated by RFC 9552, and present only for compatibility with RFC 7752 implementations."; } leaf area-id { type ietf-ospf-t:area-id-type; description "OSPF Area ID to which the information advertised in the NLRI belongs."; } choice igp-router-id { description "Decoded IGP Router-ID. The form of the Router-ID depends on the protocol from which the NLRI was learned."; case isis { leaf system-id { type ietf-isis-t:system-id; description "IS-IS System ID of the node, or of the Designated Intermediate System (DIS) for a pseudonode."; } leaf psn-id { type uint8 { range "1..255"; } description "Pseudonode (PSN) identifier. Present only for an IS-IS pseudonode."; } } case ospf { leaf router-id { type ietf-rt-t:router-id; description "OSPF Router ID of the node, or of the Designated Router (DR) for a pseudonode."; } leaf dr-identifier { type inet:ipv4-address; Jethanandani, et al. Expires 5 May 2027 [Page 16] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "IPv4 address of the DR's interface to the LAN. Present only for an OSPFv2 pseudonode."; } leaf dr-interface-id { type uint32; description "Interface identifier of the DR's interface to the LAN. Present only for an OSPFv3 pseudonode."; } } case direct-or-static { leaf router-address { type inet:ip-address; description "IPv4 or IPv6 address configured on the node, used as the Router-ID for 'Direct' or 'Static configuration'."; } } } leaf bgp-router-id { type yang:dotted-quad; description "BGP Router-ID of the node, for NLRIs whose protocol is BGP."; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering, Section 4.1."; } leaf member-as { type inet:as-number; description "AS number of the BGP confederation member, for NLRIs whose protocol is BGP."; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering, Section 4.1."; } } grouping bgp-ls-rib-nlri-descriptors { description Jethanandani, et al. Expires 5 May 2027 [Page 17] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "Decoded descriptors of a Link-State NLRI. These are derived from the 'nlri' key of the route and are provided for readability."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; leaf route-distinguisher { when "derived-from-or-self(ancestor::bgp:afi-safi/bgp:name, " + "'bgp-ls:bgp-ls-vpn')" { description "Include this leaf only for BGP-LS-VPN."; } type ietf-rt-t:route-distinguisher; description "Route Distinguisher of a BGP-LS-VPN NLRI."; } container local-node-descriptors { when "../nlri-type = 'node' or ../nlri-type = 'link' or " + "../nlri-type = 'ipv4-prefix' or " + "../nlri-type = 'ipv6-prefix'" { description "Include this container for Node, Link, and Prefix NLRIs."; } description "Descriptors of the node anchoring the local end of the link, or the node itself for a Node NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1.2."; uses bgp-ls-rib-node-descriptors; } container remote-node-descriptors { when "../nlri-type = 'link'" { description "Include this container only for Link NLRIs."; } description "Descriptors of the node anchoring the remote end of the link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1.3."; uses bgp-ls-rib-node-descriptors; } Jethanandani, et al. Expires 5 May 2027 [Page 18] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container link-descriptors { when "../nlri-type = 'link'" { description "Include this container only for Link NLRIs."; } description "Descriptors that uniquely identify a link among multiple parallel links between a pair of anchor nodes. Leaves are present only when the corresponding TLV is present in the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2."; leaf link-local-identifier { type uint32; description "Link Local Identifier."; } leaf link-remote-identifier { type uint32; description "Link Remote Identifier."; } leaf ipv4-interface-address { type inet:ipv4-address; description "IPv4 interface address."; } leaf ipv4-neighbor-address { type inet:ipv4-address; description "IPv4 neighbor address."; } leaf ipv6-interface-address { type inet:ipv6-address; description "IPv6 interface address."; } leaf ipv6-neighbor-address { type inet:ipv6-address; description "IPv6 neighbor address."; Jethanandani, et al. Expires 5 May 2027 [Page 19] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf multi-topology-id { type uint16 { range "0..4095"; } description "Multi-Topology Identifier of the topology in which the link is reachable."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1."; } } container prefix-descriptors { when "../nlri-type = 'ipv4-prefix' or " + "../nlri-type = 'ipv6-prefix'" { description "Include this container only for IPv4 and IPv6 Prefix NLRIs."; } description "Descriptors that uniquely identify a prefix originated by a node. Leaves are present only when the corresponding TLV is present in the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3."; leaf multi-topology-id { type uint16 { range "0..4095"; } description "Multi-Topology Identifier of the topology in which the prefix is reachable."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1."; } leaf ospf-route-type { type bgp-ls-topo-t:ospf-route-type; description "OSPF route type of the prefix."; reference "RFC 9552: Distribution of Link-State and Traffic Jethanandani, et al. Expires 5 May 2027 [Page 20] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Engineering Information Using BGP, Section 5.2.3.1."; } leaf ip-reachability-information { type inet:ip-prefix; description "The IPv4 or IPv6 prefix originally advertised in the IGP topology."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3.2."; } } } grouping bgp-ls-rib-route-state { description "Grouping for the state associated with a Link-State NLRI in the BGP RIB."; leaf nlri-type { type bgp-ls-topo-t:nlri-type; description "The type of Link-State NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } leaf protocol-id { type bgp-ls-topo-t:protocol; description "The protocol from which the Link-State information carried in the NLRI was learned."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } leaf identifier { type uint64; description "Instance identifier identifying the IGP routing domain where the NLRI belongs."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } Jethanandani, et al. Expires 5 May 2027 [Page 21] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 uses bgp-ls-rib-nlri-descriptors; leaf ls-attribute { type yang:hex-string; description "The BGP-LS Attribute associated with the NLRI, encoded as a set of TLVs. The decoded contents of the attribute are available in the Link-State database."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.3."; } leaf sequence-number { when "derived-from-or-self(ancestor::bgp:afi-safi/bgp:name, " + "'bgp-ls:bgp-ls-spf')" { description "Include this leaf only for BGP-LS-SPF."; } type uint64; description "The sequence number carried in the BGP-LS-SPF Sequence Number TLV. The TLV is mandatory for BGP-LS-SPF NLRIs, and an NLRI received without it is treated as withdrawn. This leaf is therefore present for every BGP-LS-SPF route, except one received without a BGP-LS Attribute, which is preserved and propagated but not used in the SPF calculation."; reference "RFC 9815: BGP Link-State SPF Routing, Sections 5.2.4, 6.1, and 7.1."; } uses bgp:bgp-common-route-annotations-state; uses bgp:bgp-unknown-attr-top; uses bgp:rib-ext-route-annotations; } grouping bgp-ls-adj-rib-common { description "Common structural grouping for each Link-State Adj-RIB table."; container routes { config false; description "Enclosing container for the list of Link-State routes in the table."; Jethanandani, et al. Expires 5 May 2027 [Page 22] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 list route { key "nlri path-id"; description "List of Link-State routes in the table, keyed by the NLRI and path-id, to distinguish multiple routes received from a neighbor for the same NLRI."; uses bgp-ls-rib-route-key; uses bgp:bgp-adj-rib-attr-state; uses bgp:bgp-adj-rib-common-attr-refs; uses bgp-ls-rib-route-state; } } } grouping bgp-ls-adj-rib-in-post { description "Structural grouping for the Link-State Adj-RIB-In post-policy table."; uses bgp-ls-adj-rib-common { augment "routes/route" { description "Add best-path annotation to Adj-RIB-In post-policy routes."; uses bgp:bgp-adj-rib-in-post-route-annotations-state; } } } grouping bgp-ls-rib { description "Grouping for the BGP-LS, BGP-LS-VPN, and BGP-LS-SPF routing tables."; container link-state { when "derived-from-or-self(../bgp:name, 'bgp-ls:bgp-ls') or " + "derived-from-or-self(../bgp:name, 'bgp-ls:bgp-ls-vpn') or " + "derived-from-or-self(../bgp:name, 'bgp-ls:bgp-ls-spf')" { description "Include this container for the BGP-LS, BGP-LS-VPN, and BGP-LS-SPF RIBs."; } description "Routing tables for Link-State -- active when the afi-safi name is bgp-ls, bgp-ls-vpn, or bgp-ls-spf."; reference "RFC 9552: Distribution of Link-State and Traffic Jethanandani, et al. Expires 5 May 2027 [Page 23] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Engineering Information Using BGP, Section 5.2. RFC 9815: BGP Link-State SPF Routing."; container loc-rib { config false; description "Container for the Link-State BGP Loc-RIB data."; container routes { description "Enclosing container for the list of Link-State routes in the routing table."; list route { key "nlri origin path-id"; description "List of Link-State routes in the table, keyed by the NLRI, the route origin, and path-id. The route origin can be either the neighbor address from which the route was learned, or the source protocol that injected the route. The path-id distinguishes routes for the same NLRI received from a neighbor (e.g., if add-paths is enabled)."; uses bgp-ls-rib-route-key; uses bgp:bgp-loc-rib-common-keys; uses bgp:bgp-loc-rib-common-attr-refs; uses bgp-ls-rib-route-state; } } } container neighbors { config false; description "Enclosing container for neighbor list."; list neighbor { key "neighbor-address"; description "List of neighbors (peers) of the local BGP speaker."; leaf neighbor-address { type inet:ip-address; description "IP address of the BGP neighbor or peer."; } Jethanandani, et al. Expires 5 May 2027 [Page 24] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container adj-rib-in-pre { description "Per-neighbor table containing the Link-State routes received from the neighbor before any local input policy rules or filters have been applied."; uses bgp-ls-adj-rib-common; uses bgp:clear-routes { description "Clears the adj-rib-in state for the containing neighbor."; } } container adj-rib-in-post { description "Per-neighbor table containing the Link-State routes received from the neighbor that are eligible for best-path selection after local input policy rules have been applied."; uses bgp-ls-adj-rib-in-post; uses bgp:clear-routes { description "Clears the adj-rib-in state for the containing neighbor."; } } container adj-rib-out-pre { description "Per-neighbor table containing Link-State routes eligible for sending (advertising) to the neighbor before output policy rules have been applied."; uses bgp-ls-adj-rib-common; uses bgp:clear-routes { description "Clears the adj-rib-out state for the containing neighbor."; } } container adj-rib-out-post { description "Per-neighbor table containing Link-State routes eligible for sending (advertising) to the neighbor after output policy rules have been applied."; uses bgp-ls-adj-rib-common; uses bgp:clear-routes { description Jethanandani, et al. Expires 5 May 2027 [Page 25] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "Clears the adj-rib-out state for the containing neighbor."; } } } } } } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:global" + "/bgp:afi-safis/bgp:afi-safi" { description "Augmentation of the BGP model to add BGL-LS."; uses bgp-mp-ls; uses bgp-mp-ls-spf; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:global" + "/bgp:afi-safis/bgp:afi-safi/link-state" { description "Augmentation of BGL-LS to add dB."; uses bgp-lsdb:lsdb-top; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:global" + "/bgp:afi-safis/bgp:afi-safi/link-state-spf" { description "Augmentation of BGL-LS-SPF."; leaf instance-identifier { type uint64; default 0; description "Instance Identifier to be used for all Link-State NLRI advertisements originated locally"; } leaf algorithm-type { type spf-algorithm-type; default normal; description "SPF Algorithm type associated with Link-State AFI SAFI"; } leaf node-status { Jethanandani, et al. Expires 5 May 2027 [Page 26] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type enumeration { enum reachable { description "The local node is reachable in the current SPF topology."; } enum unreachable { description "The local node is unreachable in the current SPF topology."; } enum no-transit-support { description "The local node is reachable but does not support forwarding of transit traffic."; } } default reachable; description "Sets SPF-Status of the local node."; } container log { config false; description "This container lists the SPF computation events."; list event { key id; description "List of computation events - implemented as a wrapping buffer."; leaf id { type uint32; description "Event identifier."; } leaf type { type enumeration { enum full { description "Full SPF computation."; } enum route-only { description "Route reachability only SPF computation"; } Jethanandani, et al. Expires 5 May 2027 [Page 27] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } description "Type of SPF computation performed."; } leaf schedule-time { type yang:date-and-time; description "Time when the SPF computation was scheduled."; } leaf delay { type uint64; description "Delay in micro-seconds applied for this SPF event."; } leaf start-time { type yang:date-and-time; description "Time when the SPF computation started."; } leaf end-time { type yang:date-and-time; description "Time when the SPF computation ended."; } leaf duration { type uint64; description "Time taken in micro-seconds to execute the SPF computations."; } leaf node-count { type uint64; description "Number of nodes involved in the SPF computations."; } leaf prefix-count { type uint64; description "Number of prefixes involved in the SPF computations."; } Jethanandani, et al. Expires 5 May 2027 [Page 28] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf route-download-count { type uint64; description "Number of routes updated in the SPF computations."; } list lsp-trigger { key "id"; description "This list includes the LSPs that triggered the SPF computation."; leaf id { type uint32; description "Trigger identifier."; } leaf nlri-prefix { type string; description "Prefix of the NLRI triggering SPF computation."; } leaf nlri-sequence { type uint32; description "Sequence number of the NLRI triggering SPF computation."; } leaf trigger-time { type yang:date-and-time; description "Time when the trigger event was recorded."; } } } } uses bgp-lsdb:lsdb-top; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:neighbors" + "/bgp:neighbor/bgp:afi-safis/bgp:afi-safi" { description "Augmentation of the BGP model to add BGL-LS."; uses bgp-mp-ls; Jethanandani, et al. Expires 5 May 2027 [Page 29] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 uses bgp-mp-ls-spf; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:neighbors" + "/bgp:neighbor/bgp:afi-safis/bgp:afi-safi/link-state-spf" { description "Augmentation of the BGP neighbor to add BGL-LS."; uses bgp-neighbor-ls-common; } /* augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:global" + "/bgp:afi-safis/bgp:afi-safi/bgp:statistics" { when "derived-from-or-self (../bgp:name, 'bgp-ls')" { description "Include these for BGP Link-State specific statistics."; } description "Augmentation of the global statistics counter to add BGP-LS statistics."; leaf updates-sent { type yang:zero-based-counter32; description "Total number of Link-State NLRI updates sent."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf updates-received { type yang:zero-based-counter32; description "Total number of Link-State NLRI updates received."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf local-ls-originated { type yang:zero-based-counter32; description "Total number of locally originated Link-State NLRIs."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; Jethanandani, et al. Expires 5 May 2027 [Page 30] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } action clear { if-feature "ibt:clear-statistics"; description "Clear statistics action command. Execution of this command should result in all the counters to be cleared and set to 0."; input { leaf clear-at { type yang:date-and-time; description "Time when the clear action needs to be executed."; } } output { leaf clear-finished-at { type yang:date-and-time; description "Time when the clear action command completed."; } } } } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:global" + "/bgp:afi-safis/bgp:afi-safi/bgp:statistics" { when "derived-from-or-self (../bgp:name, 'bgp-ls-spf')" { description "Include these for BGP Link-State SPF specific statistics."; } description "Augmentation of the global statistics counter to add BGP-LS-SPF statistics."; leaf scheduled { type yang:zero-based-counter64; description "Number of times SPF has been re/scheduled"; } leaf computed { type yang:zero-based-counter64; description "Number of times SPF has been computed"; Jethanandani, et al. Expires 5 May 2027 [Page 31] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf maximum-duration { type uint64; units "microseconds"; description "Maximum duration taken for SPF compuation in microseconds."; } leaf minimum-duration { type uint64; units "microseconds"; description "Minimum duration taken for SPF compuation in microseconds."; } leaf average-duration { type uint64; units "microseconds"; description "Average duration taken for SPF compuation in microseconds."; } leaf last-computation-time { type yang:date-and-time; description "Timestamp for last SPF computation for this address-family"; } } */ augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:neighbors" + "/bgp:neighbor/bgp:statistics" { when "derived-from-or-self (../bgp:afi-safis/bgp:afi-safi" + "/bgp:name, 'bgp-ls')" { description "Include these for BGP Link-State specific statistics."; } description "Augmentation of the BGP per-neighbor statistics to add BGP-LS specific counters."; leaf updates-sent { type yang:zero-based-counter32; Jethanandani, et al. Expires 5 May 2027 [Page 32] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Total number of Link-State NLRIs updates sent per neighbor."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf updates-received { type yang:zero-based-counter32; description "Total number of Link-State NLRIs updates received per neighbor."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf error-updates-received { type yang:zero-based-counter32; description "Total number of Link-State NLRIs updates received that were errored, per neighbor."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } leaf computations { type yang:zero-based-counter32; description "Count of number of SPF computations made."; reference "RFC 9815: BGP Link-State SPF Routing."; } leaf triggering-events { type yang:zero-based-counter32; description "SPF triggering events."; reference "RFC 9815: BGP Link-State SPF Routing."; } action clear { if-feature "ibt:clear-statistics"; description "Clear statistics action command. Jethanandani, et al. Expires 5 May 2027 [Page 33] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Execution of this command should result in all the counters to be cleared and set to 0."; input { leaf clear-at { type yang:date-and-time; description "Time when the clear action needs to be executed."; } } output { leaf clear-finished-at { type yang:date-and-time; description "Time when the clear action command completed."; } } } } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:peer-groups" + "/bgp:peer-group/bgp:afi-safis/bgp:afi-safi" { description "Augmentation of the BGP peer-group to add BGP-LS and BGP-LS-SPF."; uses bgp-mp-ls; uses bgp-mp-ls-spf; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:peer-groups" + "/bgp:peer-group/bgp:afi-safis/bgp:afi-safi/" + "link-state-spf" { description "Augmentation of the BGP peer-groups to add BGL-LS."; uses bgp-neighbor-ls-common; } augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/bgp:bgp/bgp:rib" + "/bgp:afi-safis/bgp:afi-safi" { description "Augmentation of the BGP RIB to add the BGP-LS, BGP-LS-VPN, and BGP-LS-SPF routing tables."; uses bgp-ls-rib; Jethanandani, et al. Expires 5 May 2027 [Page 34] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } } Figure 2: YANG Model for BGP-LS, BGP-LS-VPN, BGP-LS-SPF 4.2. BGP Link-State Database YANG model The ietf-bgp-lsdb module defines the read-only Link-State Database (LSDB). The top-level grouping lsdb-top organizes entries into instances identified by a VRF name, an originating protocol, and a 64-bit domain identifier. Within each instance, five containers group the NLRI types: nodes contains protocol-specific lists for IS-IS nodes (keyed by system-id, pseudo-node identifier, and AS number) and OSPFv2/OSPFv3 nodes (keyed by the AS-scoped flag, area-id, router-id, designated- router identifier, and AS number). Each node entry carries the node attributes defined in ietf-bgp-ls-topo-attr. BGP Egress Peer Engineering (EPE) defines a BGP Node NLRI type for advertising BGP peer node descriptors [RFC9086]; a corresponding list will be added in a future revision of this model. links contains protocol-specific lists for IS-IS links, OSPFv2 links, OSPFv3 links, and BGP Egress Peer Engineering (EPE) links [RFC9086]. IS-IS and OSPF links are keyed by the local and remote node identifiers together with the local and remote IPv4 and IPv6 interface addresses; a sentinel value of 0.0.0.0 (for IPv4) or :: (for IPv6) MUST be used when an address is absent, for example on unnumbered or single-stack links. BGP links carry additional key fields for the local and remote AS numbers and BGP Router IDs. Each link entry carries the IGP link attributes defined in ietf-bgp-ls- topo-attr. prefixes contains protocol-specific lists for IS-IS, OSPFv2, and OSPFv3 prefixes. IS-IS prefix entries are keyed by system-id, pseudo-node identifier, AS number, multi-topology-id, and prefix value. OSPFv2 and OSPFv3 prefix entries are keyed by the AS-scoped flag, area-id, router-id, designated-router identifier, AS number, multi-topology-id, route-type, and prefix value. Each prefix entry carries the prefix attributes defined in ietf-bgp-ls-topo-attr. Jethanandani, et al. Expires 5 May 2027 [Page 35] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 srv6-sids contains protocol-specific lists for OSPFv3, IS-IS, and BGP SRv6 SIDs. OSPFv3 SRv6 SID entries are keyed by the AS-scoped flag, area-id, router-id, designated-router identifier, AS number, SID value, and multi-topology-id. IS-IS SRv6 SID entries are keyed by system-id, pseudo-node identifier, AS number, SID value, and multi- topology-id. BGP SRv6 SID entries are keyed by router-id, AS number, SID value, and multi-topology-id. Each SRv6 SID entry carries the SRv6 SID attributes defined in ietf-bgp-ls-topo-attr. unknowns provides a fallback container for NLRI types not recognized by the model, stored as opaque hex-encoded NLRI and attribute values. The module includes the ietf-bgp-ls-topo-attr, ietf-bgp-ls-topo-ospf, and ietf-bgp-ls-topo-types submodules, and imports ietf-yang-types and ietf-inet-types [RFC9911], ietf-routing-types [RFC8294], ietf- isis [RFC9130], and ietf-ospf [RFC9129]. file "ietf-bgp-lsdb@2026-11-02.yang" module ietf-bgp-lsdb { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-bgp-lsdb"; prefix bgp-lsdb; import ietf-inet-types { prefix inet; reference "RFC 9911: Common YANG Data Types."; } import ietf-yang-types { prefix yang; reference "RFC 9911: Common YANG Data Types."; } import ietf-bgp-ls-topo-types { prefix bgp-ls-topo-t; reference "RFC XXXX: BGP Model for Link State Distribution."; } import ietf-routing-types { prefix ietf-rt-t; reference "RFC 8294: Common YANG Data Types for the Routing Area."; } import ietf-isis { Jethanandani, et al. Expires 5 May 2027 [Page 36] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 prefix ietf-isis-t; reference "RFC 9130: YANG Data Model for IS-IS Protocol."; } import ietf-ospf { prefix ietf-ospf-t; reference "RFC 9129: YANG Data Model for the OSPF Protocol."; } include ietf-bgp-ls-topo-attr; include ietf-bgp-ls-topo-ospf; organization "IETF LSVR Working Group"; contact "WG Web: WG List: Authors: Mahesh Jethanandani (mjethanandani at gmail.com), Keyur Patel (keyur at arrcus.com), Aravind Babu MahendraBabu (aramahen at cisco.com)"; description "This module contains contains configuration and management information for BGP-LS, BGP-LS-SPF. Copyright (c) 2023 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; Jethanandani, et al. Expires 5 May 2027 [Page 37] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 revision 2026-11-02 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } // Groupings grouping lsdb-top { description "Details for all databases under an application instance."; container bgp-ls-topology { config false; description "Top level container for BGP-LS topology entries"; container instances { description "Enclosing container for instance list"; list instance { key "vrf-name protocol identifier"; description "List of instances"; leaf vrf-name { type string; description "Name of the VRF this database belongs to."; } leaf protocol { type bgp-ls-topo-t:protocol; description "Protocol originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } leaf identifier { type uint64; description "Instance identifier identifying the IGP routing domain where the NLRI belongs."; reference Jethanandani, et al. Expires 5 May 2027 [Page 38] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } container nodes { description "BGP-LS topology entries for nodes"; list ospf-node { when "../../protocol = 'ospfv2'"; key "is-as-scoped area-id router-id dr-identifier as"; description "List of OSPFv2 nodes"; uses bgp-ls-ospf-node-common; uses bgp-ls-topo-node-attr; } list ospfv3-node { when "../../protocol = 'ospfv3'"; key "is-as-scoped area-id router-id dr-identifier as"; description "List of OSPFv3 nodes"; uses bgp-ls-ospf-node-common; uses bgp-ls-topo-node-attr; } list isis-node { when "../../protocol = 'isis-l1' or " + "../../protocol = 'isis-l2'"; key "system-id psn-id as"; description "List of IS-IS nodes"; leaf system-id { type ietf-isis-t:system-id; description "System ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf psn-id { Jethanandani, et al. Expires 5 May 2027 [Page 39] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint8; description "Pseudo Node Identifier (PSN ID)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 512."; } uses bgp-ls-topo-node-attr; } } container links { description "BGP-LS topology entries for links"; list ospf-link { when "../../protocol = 'ospfv2'"; key "area-id as local-router-id " + "local-dr-identifier " + "remote-router-id remote-dr-identifier " + "local-id remote-id " + "local-ipv4-address remote-ipv4-address " + "multi-topology-id"; description "List of OSPFv2 link types"; uses bgp-ls-ospf-link-common; leaf local-dr-identifier { type inet:ipv4-address; description "Local Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Jethanandani, et al. Expires 5 May 2027 [Page 40] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Section 5.2.1. TLV 515."; } leaf remote-dr-identifier { type inet:ipv4-address; description "Remote Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } uses bgp-ls-topo-igp-link-attr; } list ospfv3-link { when "../../protocol = 'ospfv3'"; key "area-id as local-router-id " + "local-dr-identifier " + "remote-router-id remote-dr-identifier " + "local-id remote-id " + "local-ipv4-address remote-ipv4-address " + "local-ipv6-address remote-ipv6-address " + "multi-topology-id"; description "List of OSPFv3 link types"; uses bgp-ls-ospf-link-common; leaf local-dr-identifier { type uint32; description "Local Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf remote-dr-identifier { type uint32; description "Remote Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; Jethanandani, et al. Expires 5 May 2027 [Page 41] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf local-ipv6-address { type inet:ipv6-address; description "Local IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 261."; } leaf remote-ipv6-address { type inet:ipv6-address; description "Remote IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 262."; } uses bgp-ls-topo-igp-link-attr; } list isis-link { when "../../protocol = 'isis-l1' or " + "../../protocol = 'isis-l2'"; key "local-system-id local-psn-id local-as " + "remote-system-id remote-psn-id remote-as " + "local-id remote-id local-ipv4-address " + "remote-ipv4-address local-ipv6-address " + "remote-ipv6-address multi-topology-id"; description "List of ISIS link types"; leaf local-system-id { type ietf-isis-t:system-id; description "Local System ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; Jethanandani, et al. Expires 5 May 2027 [Page 42] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf local-psn-id { type uint8; description "Local Pseudo Node Identifier (PSN ID)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf local-as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 512."; } leaf remote-system-id { type ietf-isis-t:system-id; description "Remote System ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf remote-psn-id { type uint8; description "Remote Pseudo Node Identifier (PSN ID)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf remote-as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; Jethanandani, et al. Expires 5 May 2027 [Page 43] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 512."; } leaf local-id { type uint32; description "Local Identifier of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 258."; } leaf remote-id { type uint32; description "Remote Identifier of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 258."; } leaf local-ipv4-address { type inet:ipv4-address; description "Local IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 259."; } leaf remote-ipv4-address { type inet:ipv4-address; description "Remote IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 260."; Jethanandani, et al. Expires 5 May 2027 [Page 44] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf local-ipv6-address { type inet:ipv6-address; description "Local IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 261."; } leaf remote-ipv6-address { type inet:ipv6-address; description "Remote IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 262."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } uses bgp-ls-topo-igp-link-attr; } list bgp-link { when "../../protocol = 'bgp'"; key "local-as local-router-id remote-as " + "remote-router-id local-id remote-id " + "local-ipv4-address remote-ipv4-address " + "local-ipv6-address remote-ipv6-address " + "multi-topology-id"; description "List of BGP link types"; Jethanandani, et al. Expires 5 May 2027 [Page 45] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf local-as { type inet:as-number; description "Autonomous System (AS) number or AS Confederation Identifier."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 512."; } leaf local-router-id { type ietf-rt-t:router-id; description "Local BGP Router ID."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 516."; } leaf remote-as { type inet:as-number; description "Autonomous System (AS) number or AS Confederation Identifier."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 512."; } leaf remote-router-id { type ietf-rt-t:router-id; description "Remote BGP Router ID."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 516."; } leaf local-id { type uint32; description "Local Identifier of a link."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.3. TLV 258."; } leaf remote-id { Jethanandani, et al. Expires 5 May 2027 [Page 46] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint32; description "Remote Identifier of a link."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.3. TLV 258."; } leaf local-ipv4-address { type inet:ipv4-address; description "Local IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.2. TLV 259."; } leaf remote-ipv4-address { type inet:ipv4-address; description "Remote IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.2. TLV 260."; } leaf local-ipv6-address { type inet:ipv6-address; description "Local IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.2. TLV 261."; } leaf remote-ipv6-address { type inet:ipv6-address; description "Remote IPv6 address of a link. Use :: as a sentinel value when this address is not present (e.g., for unnumbered or IPv4-only links)."; reference Jethanandani, et al. Expires 5 May 2027 [Page 47] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 5.2. TLV 262."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } container link-attributes { description "Enclosing container for link attributes list"; list link-attribute { key "type"; description "List of link attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of link attribute"; } container bgp-peer-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-bgp-peer-node-sid')" + " or derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-bgp-peer-adj-sid')" + " or derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-bgp-peer-set-sid')" { description "Only include the bgp-peer-sids container when the type is bgp-ls-topo-attr-bgp-peer-node-sid, bgp-ls-topo-attr-bgp-peer-adj-sid, or bgp-ls-topo-attr-bgp-peer-set-sid"; Jethanandani, et al. Expires 5 May 2027 [Page 48] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } description "This container contains the BGP peer Segment Identifiers (SIDs) of a link"; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1101, TLV 1102 and TLV 1103"; list bgp-peer-sid { key "label-index format"; description "List of BGP peer SID"; leaf label-index { type uint32; description "Label or index"; } leaf format { type bgp-ls-topo-t:sid-format; description "Format of the SID"; } leaf flags { type binary { length "1"; } description "Flags associated with the BGP peer SID"; } leaf weight { type uint8; description "Weight used for load balancing purposes"; } } } } } } } container prefixes { Jethanandani, et al. Expires 5 May 2027 [Page 49] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "BGP-LS topology entries for prefixes"; list ospf-prefix { when "../../protocol = 'ospfv2'"; key "is-as-scoped area-id as " + "router-id dr-identifier " + "multi-topology-id route-type prefix"; description "List of OSPFv2 prefix types"; uses bgp-ls-ospf-prefix-common; leaf dr-identifier { type inet:ipv4-address; description "Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf prefix { type inet:ipv4-prefix; description "IPv4 address prefix advertised in the OSPFv2 topology."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3.2. TLV 265."; } uses bgp-ls-topo-prefix-attr; } list ospfv3-prefix { when "../../protocol = 'ospfv3'"; key "is-as-scoped area-id as " + "router-id dr-identifier " + "multi-topology-id route-type prefix"; description "List of OSPFv3 prefix types"; uses bgp-ls-ospf-prefix-common; leaf dr-identifier { Jethanandani, et al. Expires 5 May 2027 [Page 50] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint32; description "Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf prefix { type inet:ip-prefix; description "IP address prefix (IPv4 or IPv6) advertised in the OSPFv3 topology."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3.2. TLV 265."; } uses bgp-ls-topo-prefix-attr; } list isis-prefix { when "../../protocol = 'isis-l1' or " + "../../protocol = 'isis-l2'"; key "system-id psn-id as multi-topology-id prefix"; description "List of ISIS prefix types"; leaf system-id { type ietf-isis-t:system-id; description "System ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf psn-id { type uint8; description "Pseudo Node Identifier (PSN ID)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; Jethanandani, et al. Expires 5 May 2027 [Page 51] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2. TLV 512."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a prefix."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } leaf prefix { type inet:ip-prefix; description "IP address prefix (IPv4 or IPv6) advertised in the IGP topology."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3.2. TLV 265."; } uses bgp-ls-topo-prefix-attr; } } container srv6-sids { description "BGP-LS topology entries for SRv6 SIDs"; list ospfv3-srv6-sid { when "../../protocol = 'ospfv3'"; key "is-as-scoped area-id router-id " + "dr-identifier as sid multi-topology-id"; description "List of OSPF SRv6 SID types"; Jethanandani, et al. Expires 5 May 2027 [Page 52] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf is-as-scoped { type boolean; description "When true, the NLRI is AS-scoped and the area-id is not applicable."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1."; } leaf area-id { type ietf-ospf-t:area-id-type; description "OSPF area identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 514."; } leaf router-id { type ietf-rt-t:router-id; description "Router ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf dr-identifier { type uint32; description "Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Jethanandani, et al. Expires 5 May 2027 [Page 53] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Engineering Information Using BGP, Section 5.2. TLV 512."; } leaf sid { type inet:ipv6-prefix; description "SRv6 SID."; reference "RFC 9514: BGP-LS SRv6 Extensions, Section 6.1. TLV 518."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a SRv6 SID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } uses bgp-ls-topo-srv6-sid-attr; } list isis-srv6-sid { when "../../protocol = 'isis-l1' or " + "../../protocol = 'isis-l2'"; key "system-id psn-id as sid multi-topology-id"; description "List of ISIS SRv6 SID types"; leaf system-id { type ietf-isis-t:system-id; description "System ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf psn-id { type uint8; description "Pseudo Node Identifier (PSN ID)."; reference Jethanandani, et al. Expires 5 May 2027 [Page 54] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2. TLV 512."; } leaf sid { type inet:ipv6-prefix; description "SRv6 SID."; reference "RFC 9514: BGP-LS SRv6 Extensions, Section 6.1. TLV 518."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a SRv6 SID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } uses bgp-ls-topo-srv6-sid-attr; } list bgp-srv6-sid { when "../../protocol = 'bgp'"; key "router-id as sid multi-topology-id"; description "List of BGP SRv6 SID types"; leaf router-id { type ietf-rt-t:router-id; description "BGP Router ID."; Jethanandani, et al. Expires 5 May 2027 [Page 55] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 516."; } leaf as { type inet:as-number; description "Autonomous System (AS) number or AS Confederation Identifier."; reference "RFC 9086: BGP-LS Extensions for BGP Peering Segments, Section 4.2. TLV 517."; } leaf sid { type inet:ipv6-prefix; description "SRv6 SID."; reference "RFC 9514: BGP-LS SRv6 Extensions, Section 6.1. TLV 518."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a SRv6 SID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } container srv6-sid-attributes { description "Enclosing container for SRv6 SID attributes list"; list srv6-sid-attribute { key "type"; description "List of SRv6 SID attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } Jethanandani, et al. Expires 5 May 2027 [Page 56] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "The type of SRv6 SID attribute"; } container srv6-endpoint-behavior { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-endpoint-behavior')" { description "Only include the srv6-endpoint-behavior container when the type is bgp-ls-topo-attr-srv6-endpoint-behavior"; } description "This container contains the SRv6 endpoint behavior."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). SRv6 endpoint behavior. TLV 1250."; uses bgp-ls-topo-srv6-endpoint-behavior-attr; } container srv6-sid-structure { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-sid-structure')" { description "Only include the srv6-sid-structure container when the type is bgp-ls-topo-attr-srv6-sid-structure"; } description "This container defines the SRv6 SID structure."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). SRv6 SID structure. TLV 1252."; uses bgp-ls-topo-srv6-sid-struct-attr; } container unknowns { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unknowns')" { description "Only include the unknowns container when the Jethanandani, et al. Expires 5 May 2027 [Page 57] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type is bgp-ls-topo-attr-unknowns"; } description "This container describes the unknown attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; uses bgp-ls-topo-unknown-attr; } container srv6-bgp-peer-node-sid { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-bgp-peer-node-sid')" { description "Only include the srv6-bgp-peer-node-sid container when the type is bgp-ls-topo-attr-srv6-bgp-peer-node-sid"; } description "This container contains the SRv6 BGP peer node SID."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). SRv6 BGP peer node SID. TLV 1251."; leaf flags { type binary { length "1"; } description "Flags associated with the SRv6 BGP peer node SID"; } leaf weight { type uint8; description "Weight used for load balancing purposes"; } leaf peer-as { type inet:as-number; description "Autonomous system of peer"; Jethanandani, et al. Expires 5 May 2027 [Page 58] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf peer-bgp-id { type ietf-rt-t:router-id; description "BGP Router ID of peer"; } } } } } } container unknowns { description "BGP-LS topology entries for unknown NLRIs -- active when the nlri-type is unknown"; list unknown { key "nlri"; description "List of unknown types"; leaf nlri { type yang:hex-string; description "NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } leaf attributes { type yang:hex-string; description "Attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.3."; } } } } } } } } Jethanandani, et al. Expires 5 May 2027 [Page 59] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Figure 3: YANG Model for Link-State Database 4.3. BGP Link-State Topology Types YANG model The ietf-bgp-ls-topo-types submodule defines the identity hierarchy and typedefs shared across the other topology attribute submodules. The base identity bgp-ls-topo-attr-type is the root for approximately fifty derived identities, one per BGP-LS TLV type. Examples include bgp-ls-topo-attr-node-name (TLV 1026), bgp-ls-topo-attr-sr- capabilities (TLV 1034), bgp-ls-topo-attr-fad (TLV 1039), bgp-ls- topo-attr-extended-admin-group (TLV 1173), and bgp-ls-topo-attr- adjacency-sid (TLV 1099). These identities serve as the key type in the type-dispatched attribute lists defined in ietf-bgp-ls-topo-attr, enabling new TLV types to be added as derived identities without modifying the existing schema structure. The base identity bgp-ls-topo-attr-fad-type enumerates the sub-TLV types that appear within a Flexible Algorithm Definition (FAD) [RFC9351], such as include/exclude affinity constraints, SRLG exclusions, minimum bandwidth, and maximum delay. The sid-format typedef is an enumeration distinguishing whether a SID value is an MPLS label (20-bit) or an index into the SRGB (32-bit). It is referenced by the adjacency-SID, prefix-SID, and BGP peer SID attribute containers. The protocol typedef enumerates the IGP protocols from which BGP-LS NLRIs can originate: IS-IS Level 1, IS-IS Level 2, OSPFv2, OSPFv3, BGP, and Direct. file "ietf-bgp-ls-topo-types@2026-11-02.yang" module ietf-bgp-ls-topo-types { yang-version "1.1"; namespace "urn:ietf:params:xml:ns:yang:ietf-bgp-ls-topo-types"; prefix "ietf-bgp-ls-topo-types"; organization "IETF LSVR Working Group"; contact "WG Web: WG List: Jethanandani, et al. Expires 5 May 2027 [Page 60] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Authors: Mahesh Jethanandani (mjethanandani at gmail.com), Keyur Patel (keyur at arrcus.com), Aravind Babu MahendraBabu (aramahen at cisco.com)"; description "Defines identity and type definitions associated with BGP-LS topology modules. Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; revision 2026-11-02 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } typedef protocol { type enumeration { enum isis-l1 { value 1; description "Value of BGP-LS protocol ISIS L1"; } enum isis-l2 { value 2; description "Value of BGP-LS protocol ISIS L2"; } enum ospfv2 { Jethanandani, et al. Expires 5 May 2027 [Page 61] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 value 3; description "Value of BGP-LS protocol OSPFv2"; } enum direct { value 4; description "Value of BGP-LS protocol Direct"; } enum static { value 5; description "Value of BGP-LS protocol Static"; } enum ospfv3 { value 6; description "Value of BGP-LS protocol OSPFv3"; } enum bgp { value 7; description "Value of BGP-LS protocol BGP"; } enum rsvp-te { value 8; description "Value of BGP-LS protocol RSVP-TE"; } enum sr { value 9; description "Value of BGP-LS protocol SR"; } } description "BGP-LS Protocol"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2."; } typedef nlri-type { type enumeration { enum node { value 1; description "Value of BGP-LS Node NLRI"; Jethanandani, et al. Expires 5 May 2027 [Page 62] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } enum link { value 2; description "Value of BGP-LS Link NLRI"; } enum ipv4-prefix { value 3; description "Value of BGP-LS IPv4 Prefix NLRI"; } enum ipv6-prefix { value 4; description "Value of BGP-LS IPv6 Prefix NLRI"; } enum sr-policy-candidate-path { value 5; description "Value of BGP-LS SR Policy Candidate Path NLRI"; } enum srv6-sid { value 6; description "Value of BGP-LS SRv6 SID NLRI"; } } description "BGP-LS NLRI Types"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.1."; } typedef ospf-route-type { type enumeration { enum intra-area { value 1; description "Value of OSPF Route Type Intra Area"; } enum inter-area { value 2; description "Value of OSPF Route Type Inter Area"; } enum external-1 { value 3; Jethanandani, et al. Expires 5 May 2027 [Page 63] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Value of OSPF Route Type External 1"; } enum external-2 { value 4; description "Value of OSPF Route Type External 2"; } enum nssa-1 { value 5; description "Value of OSPF Route Type NSSA 1"; } enum nssa-2 { value 6; description "Value of OSPF Route Type NSSA 2"; } } description "OSPF Route Type"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 3.2.3."; } typedef node-flag-bits { type bits { bit overload { position 0; description "Value of Overload bit"; } bit attached { position 1; description "Value of Attached bit"; } bit external { position 2; description "Value of External bit"; } bit abr { position 3; description "Value of ABR bit"; } Jethanandani, et al. Expires 5 May 2027 [Page 64] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bit router { position 4; description "Value of Router bit"; } bit v6 { position 5; description "Value of IPv6 bit"; } } description "BGP-LS Node flag bits"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. Section 3.3.1.1"; } typedef igp-flags-bits { type binary { length "1"; } description "BGP-LS IGP flag bits"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 3.3.3."; } typedef sid-format { type enumeration { enum label { value 1; description "SID represented as an MPLS label value."; } enum index { value 2; description "SID represented as an index value."; } } description "Format of a SID value (adjacency, prefix, or BGP peer)."; } identity bgp-ls-topo-attr-type { Jethanandani, et al. Expires 5 May 2027 [Page 65] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Base identity for BGP-LS topology attribute type."; } identity bgp-ls-topo-attr-fad-type { description "Base identity for BGP-LS topology Flexible Algorithm Definition (FAD) attribute type."; } identity bgp-ls-topo-attr-link-local-remote-identifiers { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 258. Link local and remote identifiers"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-multi-topology-id { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 263. Multi-Topology IDs"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-node-msd { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 266. Node Maximum SID Depth"; reference "RFC 8814: Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State"; } identity bgp-ls-topo-attr-link-msd { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 267. Link Maximum SID Depth"; reference "RFC 8814: Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State"; } identity bgp-ls-topo-attr-node-flag-bits { base "bgp-ls-topo-attr-type"; Jethanandani, et al. Expires 5 May 2027 [Page 66] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "BGP-LS TLV 1024. Bit mask describing node attributes"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-opaque-node { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1025. Envelope that transparently carries optional Node Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-node-name { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1026. Symbolic name of the router node"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-isis-area-identifier { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1027. Area address of an ISIS area"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-local-ipv4-routerid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1028. Auxiliary Router-ID used by the IGP"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-local-ipv6-routerid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1029. Auxiliary Router-ID used by the IGP"; Jethanandani, et al. Expires 5 May 2027 [Page 67] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-remote-ipv4-routerid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1030. Remote Router-ID used by the IGP"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-remote-ipv6-routerid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1031. Remote Router-ID used by the IGP"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-sr-capabilities { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1034. Node's Segment Routing (SR) capabilities"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-sr-algorithm { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1035. Segment Routing (SR) algorithms supported by the node"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-srlb { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1036. Range(s) of labels reserved by the node for local SIDs (Segment Identifiers)"; reference Jethanandani, et al. Expires 5 May 2027 [Page 68] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-srv6-cap-flags { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1038. SRv6 Capabilities Flags."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)."; } identity bgp-ls-topo-attr-fad { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1039. Definition of Flexible Algorithms (FA) supported by the node"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-excl-any-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1040. Exclude links carrying any of the specified affinities"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-incl-any-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1041. Include links carrying any of the specified affinities"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-incl-all-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1042. Include links carrying all of the specified affinities"; Jethanandani, et al. Expires 5 May 2027 [Page 69] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-flags { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1043. Flags associated with the FAD"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-excl-srlg { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1045. Exclude links associated with any of the specified (Shared Risk Link Group) SRLG"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fa-unsupported { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV 1046. Indicates the presence of unsupported Flexible Algorithm Definition (FAD) sub-TLVs"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-fad-excl-minimum-bw { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV TBD (1049). Exclude links not having a minimum specified bandwidth"; reference "RFC TBD: BGP-LS extensions for IP Flexible Algorithms and Bandwidth, Delay, Metrics and Constraints"; } identity bgp-ls-topo-attr-fad-excl-maximum-delay { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV TBD (1050). Exclude links having delay Jethanandani, et al. Expires 5 May 2027 [Page 70] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 above a maximum specified delay"; reference "RFC TBD: BGP-LS extensions for IP Flexible Algorithms and Bandwidth, Delay, Metrics and Constraints"; } identity bgp-ls-topo-attr-fad-excl-any-rev-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV TBD (1053). Exclude links carrying any of the specified affinities in the reverse direction"; reference "RFC TBD: BGP-LS extensions for Flexible Algorithms Reverse Affinity Constraint"; } identity bgp-ls-topo-attr-fad-incl-any-rev-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV TBD (1054). Include links carrying any of the specified affinities in the reverse direction"; reference "RFC TBD: BGP-LS extensions for Flexible Algorithms Reverse Affinity Constraint"; } identity bgp-ls-topo-attr-fad-incl-all-rev-aff { base "bgp-ls-topo-attr-fad-type"; description "BGP-LS TLV TBD (1055). Include links carrying all of the specified affinities in the reverse direction"; reference "RFC TBD: BGP-LS extensions for Flexible Algorithms Reverse Affinity Constraint"; } identity bgp-ls-topo-attr-extended-admin-group { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1173. Extended Administrative Group"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-maximum-link-bw { base "bgp-ls-topo-attr-type"; description Jethanandani, et al. Expires 5 May 2027 [Page 71] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "BGP-LS TLV 1089. Maximum link bandwidth"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-maximum-reservable-link-bw { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1090. Maximum reservable link bandwidth"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-unreserved-bw { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1091. Unreserved bandwidth"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-te-default-metric { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1092. Traffic Engineering default metric"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-link-protection-type { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1093. Link protection type"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-mpls-protocol-mask { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1094. MPLS protocol mask"; reference "RFC 9552: Distribution of Link-State and Traffic Jethanandani, et al. Expires 5 May 2027 [Page 72] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Engineering Information Using BGP."; } identity bgp-ls-topo-attr-igp-metric { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1095. IGP metric"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-srlg { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1096. Shared Risk Link Group (SRLG)"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-opaque-link { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1097. Envelope that transparently carries optional Link Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-link-name { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1098. Symbolic name of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-adjacency-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1099. Adjacency Segment Identifier (SID)"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } Jethanandani, et al. Expires 5 May 2027 [Page 73] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 identity bgp-ls-topo-attr-lan-adjacency-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1100. LAN adjacency Segment Identifier (SID)"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-bgp-peer-node-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1101. BGP peer node Segment Identifier (SID)"; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-bgp-peer-adj-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1102. BGP peer adjacency Segment Identifier (SID)"; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-bgp-peer-set-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1103. BGP peer set Segment Identifier (SID)"; reference "RFC 9086: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-srv6-end-x-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1106. SRv6 End.X SID"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-srv6-isis-lan-end-x-sid { base "bgp-ls-topo-attr-type"; description Jethanandani, et al. Expires 5 May 2027 [Page 74] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "BGP-LS TLV 1107. SRv6 ISIS LAN End.X SID"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-srv6-ospf-lan-end-x-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1108. SRv6 OSPF LAN End.X SID"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-unidir-link-delay { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1114. Unidirectional link delay"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-min-max-unidir-link-delay { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1115. Min/max unidirectional link delay"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-unidir-delay-variation { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1116. Unidirectional delay variation"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-unidir-link-loss { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1117. Unidirectional link loss"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } Jethanandani, et al. Expires 5 May 2027 [Page 75] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 identity bgp-ls-topo-attr-unidir-residual-bw { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1118. Unidirectional residual bandwidth"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-unidir-available-bw { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1119. Unidirectional available bandwidth"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-unidir-utilized-bw { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1120. Unidirectional utilized bandwidth"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions."; } identity bgp-ls-topo-attr-asla { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1122. Application-Specific Link Attributes"; reference "RFC 9294: Application-Specific Link Attributes Advertisement Using the Border Gateway Protocol - Link State (BGP-LS)."; } identity bgp-ls-topo-attr-igp-flags { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1152. Flags and bits assigned to a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-igp-route-tag { base "bgp-ls-topo-attr-type"; description Jethanandani, et al. Expires 5 May 2027 [Page 76] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "BGP-LS TLV 1153. Tags of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-ext-igp-route-tag { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1154. Extended route tags of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-prefix-metric { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1155. Metric of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-ospf-forwarding-address { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1156. Forwarding address of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-opaque-prefix { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1157. Envelope that transparently carries optional Prefix Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-topo-attr-prefix-sid { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1158. Prefix Segment Identifiers (SIDs)"; reference Jethanandani, et al. Expires 5 May 2027 [Page 77] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-prefix-range { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1159. Range of prefix-to-SID mapping"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-srv6-locator { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1162. SRv6 locator information associated with a prefix"; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)"; } identity bgp-ls-topo-attr-prefix-attribute-flags { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1170. Prefix attribute flags"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-prefix-src-router-id { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1171. Source route identifier of a prefix"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; } identity bgp-ls-topo-attr-l2-bundle-member { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1172. L2 bundle member"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing"; Jethanandani, et al. Expires 5 May 2027 [Page 78] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } identity bgp-ls-topo-attr-fa-prefix-metric { base "bgp-ls-topo-attr-type"; description "BGP-LS TLV 1044. Flexible Algorithm prefix metric"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement"; } identity bgp-ls-topo-attr-srv6-endpoint-behavior { base "bgp-ls-topo-attr-type"; description "SRv6 endpoint behavior"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-srv6-bgp-peer-node-sid { base "bgp-ls-topo-attr-type"; description "SRv6 BGP peer node SID"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-srv6-sid-structure { base "bgp-ls-topo-attr-type"; description "SRv6 SID structure"; reference "RFC 9514: SRv6 BGP-LS extensions."; } identity bgp-ls-topo-attr-unknowns { base "bgp-ls-topo-attr-type"; description "Unknown BGP-LS attribute TLVs."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } } Figure 4: YANG Model for BGP-LS Topology Types Jethanandani, et al. Expires 5 May 2027 [Page 79] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 4.4. BGP Link-State Topology Attributes YANG model The ietf-bgp-ls-topo-attr submodule defines groupings for the attributes associated with Node, Link, Prefix, and SRv6 SID NLRIs. Each grouping uses a type-dispatched list pattern: a list keyed by an identityref of base type bgp-ls-topo-attr-type, where each list entry carries a set of containers guarded by derived-from-or-self() when expressions. Only the container whose identity matches the entry's key leaf is active in any given entry. This approach provides an extensible schema that accommodates new TLV types by adding derived identities without modifying the list structure. *Node attributes* (bgp-ls-topo-node-attr): The node attribute list covers the TLVs defined in [RFC9552] for router identification (local IPv4/IPv6 Router-IDs, node name), node properties (Multi-Topology IDs, node flag bits, IS-IS area identifiers, opaque node attributes), Segment Routing capabilities (SRGB ranges, SRLB ranges, SR algorithms, node Maximum SID Depth (MSD) [RFC8814]), and Flexible Algorithm Definitions (FADs). Each FAD entry is identified by an algorithm number in the range 128-255 and carries its metric type, calculation type, priority, and a nested type-dispatched list of affinity and SRLG constraint attributes as defined in [RFC9351]. *Link attributes* (bgp-ls-topo-igp-link-attr): The link attribute list covers the TE and SR TLVs defined in [RFC9552] and [RFC9085]. Traffic engineering attributes include maximum bandwidth, maximum reservable bandwidth, unreserved bandwidth (eight priority levels), administrative group, extended administrative group (TLV 1173), TE metric, link protection type, and Shared Risk Link Group (SRLG) values. Performance attributes include unidirectional link delay (average, minimum, and maximum), delay variation, link loss, residual bandwidth, available bandwidth, and utilized bandwidth. SR attributes include adjacency-SIDs (TLV 1099) and LAN adjacency-SIDs (TLV 1100) [RFC9085], each carrying label or index values, flags, and weights; link MSD; SRv6 End.X SIDs; and SRv6 LAN End.X SIDs [RFC9514]. Application-Specific Link Attributes (ASLA) and L2 Bundle Member attributes are also modeled. For BGP EPE links [RFC9086], the list includes BGP peer SIDs (TLVs 1101-1103). *Prefix attributes* (bgp-ls-topo-prefix-attr): The prefix attribute list covers IGP flags, route tags, extended route tags, prefix metric, OSPF forwarding address, opaque prefix attributes, prefix- SIDs (TLV 1158) [RFC9085] with label or index values and algorithm, and SRv6 Locator attributes [RFC9514]. Jethanandani, et al. Expires 5 May 2027 [Page 80] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 *SRv6 SID attributes* (bgp-ls-topo-srv6-sid-attr): SRv6 SID entries carry the SRv6 endpoint behavior (TLV 1250) and the SRv6 SID structure sub-TLV (TLV 1252), which encodes the locator block length, locator node length, function length, and argument length fields [RFC9514]. file "ietf-bgp-ls-topo-attr@2026-11-02.yang" submodule ietf-bgp-ls-topo-attr { yang-version 1.1; belongs-to ietf-bgp-lsdb { prefix "bgp-lsdb"; } import ietf-inet-types { prefix inet; reference "RFC 9911: Common YANG Data Types."; } import ietf-yang-types { prefix yang; reference "RFC 9911: Common YANG Data Types."; } import ietf-bgp-ls-topo-types { prefix bgp-ls-topo-t; reference "RFC XXXX: BGP Model for Link State Distribution."; } import ietf-routing-types { prefix ietf-rt-t; reference "RFC 8294: Common YANG Data Types for the Routing Area."; } import ietf-isis { prefix ietf-isis-t; reference "RFC 9130: YANG Data Model for IS-IS Protocol."; } organization "IETF LSVR Working Group"; contact Jethanandani, et al. Expires 5 May 2027 [Page 81] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "WG Web: WG List: Authors: Mahesh Jethanandani (mjethanandani at gmail.com), Keyur Patel (keyur at arrcus.com), Aravind Babu MahendraBabu (aramahen at cisco.com)"; description "This submodule contains structural data definitions associated BGP-LS topology attributes. Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; revision 2026-11-02 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } grouping bgp-ls-topo-ipv4-router-id-attr { description "Grouping for the BGP-LS topology IPv4 router-id attribute"; leaf-list router-id { type ietf-rt-t:router-id; description "List of IPv4 Router ID"; } } Jethanandani, et al. Expires 5 May 2027 [Page 82] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 grouping bgp-ls-topo-ipv6-router-id-attr { description "Grouping for the BGP-LS topology IPv6 router-id attribute"; leaf-list router-id { type inet:ipv6-address; description "List of IPv6 Router ID"; } } grouping bgp-ls-topo-msd-attr { description "Grouping for the BGP-LS topology Maximum SID Depth (MSD) attribute"; list msd { key "msd-type"; description "List of MSDs"; leaf msd-type { type uint8; description "MSD type. One of the values defined in the 'IGP MSD-Types' registry."; reference "RFC 8491: Signaling Maximum SID Depth (MSD) Using IS-IS."; } leaf msd-value { type uint8; description "MSD value. A number in the range of 0-255"; } } } grouping bgp-ls-topo-opaque-attribute { description "Grouping for the BGP-LS topology opaque attribute"; leaf opaque-attrs { type yang:hex-string; description "Opaque attribute"; Jethanandani, et al. Expires 5 May 2027 [Page 83] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } } grouping bgp-ls-topo-eag-attr { description "Grouping for the BGP-LS topology EAG attribute"; leaf-list eag { type uint32; description "Extended Administrative Group (EAG) value for link affinity constraints to be used in traffic engineering"; } } grouping bgp-ls-topo-srlg-attr { description "Grouping for the BGP-LS topology SRLG attribute"; leaf-list srlg { type uint32; description "Shared Risk Link Group (SRLG) value representing links that share a common resource and may fail together"; } } grouping bgp-ls-topo-delay-attr { description "Grouping for the BGP-LS topology delay attribute"; leaf delay { type uint32; units microseconds; description "Average link delay over a configurable interval"; } } grouping bgp-ls-topo-bw-attr { description "Grouping for the BGP-LS topology bandwidth attribute"; leaf bw { type ietf-rt-t:bandwidth-ieee-float32; description "Bandwidth in IEEE 754 floating point format. BGP-LS defines various bandwidth types."; Jethanandani, et al. Expires 5 May 2027 [Page 84] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "IEEE 754: IEEE Standard for Floating-Point Arithmetic."; } } grouping bgp-ls-topo-adj-sid-attr { description "Grouping for the BGP-LS topology adjacency SID attribute"; leaf label-index { type uint32; description "Label or index"; } leaf format { type bgp-ls-topo-t:sid-format; description "Format of the SID"; } leaf flags { type binary { length "1"; } description "Flags associated with the SID. IS-IS flags are defined in RFC 8667. OSPFv2 flags are defined in RFC 8665. OSPFv3 flags are defined in RFC 8666."; } leaf weight { type uint8; description "Weight used for load balancing purposes"; } } grouping bgp-ls-topo-common-link-asla-l2-bundle-member-attr { description "Grouping for the BGP-LS topology attributes common for link, ASLA and L2 bundle member"; container te-default-metric { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-te-default-metric')" { description "Only include the te-default-metric container when the Jethanandani, et al. Expires 5 May 2027 [Page 85] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type is bgp-ls-topo-attr-te-default-metric"; } description "This container specifies the Traffic Engineering (TE) metric of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1092"; leaf metric { type uint32; description "Traffic Engineering metric"; } } container unidirectional-link-delay { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-link-delay')" { description "Only include the unidirectional-link-delay container when the type is bgp-ls-topo-attr-unidir-link-delay"; } description "This container specifies the average link delay between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1114"; uses bgp-ls-topo-delay-attr; leaf anomaly { type boolean; description "Anomalous?"; } } container min-max-unidirectional-link-delay { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-min-max-unidir-link-delay')" { description "Only include the min-max-unidirectional-link-delay container when the type is bgp-ls-topo-attr-min-max-unidir-link-delay"; Jethanandani, et al. Expires 5 May 2027 [Page 86] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } description "This container specifies the minimum and maximum link delay between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1115"; container min { description "Enclosing container for minimum delay"; uses bgp-ls-topo-delay-attr; } container max { description "Enclosing container for maximum delay"; uses bgp-ls-topo-delay-attr; } leaf anomaly { type boolean; description "Anomalous?"; } } container unidirectional-delay-variation { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-delay-variation')" { description "Only include the unidirectional-delay-variation container when the type is bgp-ls-topo-attr-unidir-delay-variation"; } description "This container specifies the average link delay variation between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1116"; uses bgp-ls-topo-delay-attr; } container unidirectional-link-loss { when "derived-from-or-self(../type, " + Jethanandani, et al. Expires 5 May 2027 [Page 87] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-link-loss')" { description "Only include the unidirectional-link-loss container when the type is bgp-ls-topo-attr-unidir-link-loss"; } description "This container specifies the loss (as a packet percentage) between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1117"; leaf link-loss { type uint32; description "Link packet loss as a percentage of the total traffic sent over a configurable interval. The basic unit is 0.000003%, where (2^24 - 2) is 50.331642%."; } leaf anomaly { type boolean; description "Anomalous?"; } } container unidirectional-residual-bw { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-residual-bw')" { description "Only include the unidirectional-residual-bw container when the type is bgp-ls-topo-attr-unidir-residual-bw"; } description "This container specifies the residual bandwidth between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1118"; uses bgp-ls-topo-bw-attr; } container unidirectional-available-bw { when "derived-from-or-self(../type, " + Jethanandani, et al. Expires 5 May 2027 [Page 88] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-available-bw')" { description "Only include the unidirectional-available-bw container when the type is bgp-ls-topo-attr-unidir-available-bw"; } description "This container specifies the available bandwidth between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1119"; uses bgp-ls-topo-bw-attr; } container unidirectional-utilized-bw { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-unidir-utilized-bw')" { description "Only include the unidirectional-utilized-bw container when the type is bgp-ls-topo-attr-unidir-utilized-bw"; } description "This container specifies the utilized bandwidth between two directly connected IGP link-state neighbors"; reference "RFC 8571: Link State (BGP-LS) Advertisement of IGP Traffic Engineering Performance Metric Extensions. TLV 1120"; uses bgp-ls-topo-bw-attr; } container extended-admin-group { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-extended-admin-group')" { description "Only include the extended-admin-group container when the type is bgp-ls-topo-attr-extended-admin-group"; } description "This container contains the bit mask of administrative groups assigned by the network administrator"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1173"; Jethanandani, et al. Expires 5 May 2027 [Page 89] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 uses bgp-ls-topo-eag-attr; } container unknowns { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unknowns')" { description "Only include the unknowns container when the type is bgp-ls-topo-attr-unknowns"; } description "This container describes the unknown attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; uses bgp-ls-topo-unknown-attr; } } grouping bgp-ls-topo-common-link-l2-bundle-member-attr { description "Grouping for the BGP-LS topology attributes common for link and L2 bundle member"; container maximum-link-bw { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-maximum-link-bw')" { description "Only include the maximum-link-bw container when the type is bgp-ls-topo-attr-maximum-link-bw"; } description "This container specifies the maximum bandwidth that can be used on a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1089"; uses bgp-ls-topo-bw-attr; } container maximum-reservable-link-bw { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-maximum-reservable-link-bw')" { description "Only include the maximum-reservable-link-bw container Jethanandani, et al. Expires 5 May 2027 [Page 90] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 when the type is bgp-ls-topo-attr-maximum-reservable-link-bw"; } description "This container specifies the maximum bandwidth that can be reserved on a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1090"; uses bgp-ls-topo-bw-attr; } container unreserved-bws { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unreserved-bw')" { description "Only include the unreserved-bws container when the type is bgp-ls-topo-attr-unreserved-bw"; } description "This container specifies the bandwidth reservable on a link on a per priority basis"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1091"; list unreserved-bw { key "priority"; description "List of unreserved bandwidths"; leaf priority { type uint8 { range "0..7"; } description "Priority level"; } leaf bandwidth { type ietf-rt-t:bandwidth-ieee-float32; description "Bandwidth reservable on the link for a particular priority"; } } Jethanandani, et al. Expires 5 May 2027 [Page 91] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } container link-protection-type { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-link-protection-type')" { description "Only include the link-protection-type container when the type is bgp-ls-topo-attr-link-protection-type"; } description "This container describes the protection capabilities of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1093"; leaf type { type uint16; description "Bit mask of protection capabilities"; } } container adjacency-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-adjacency-sid')" { description "Only include the adjacency-sids container when the type is bgp-ls-topo-attr-adjacency-sid"; } description "This container contains the Adjacency Segment Identifiers (SIDs) of an adjacency"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1099"; list adjacency-sid { key "label-index format"; description "List of adjacency SID"; uses bgp-ls-topo-adj-sid-attr; } } Jethanandani, et al. Expires 5 May 2027 [Page 92] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container lan-adjacency-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-lan-adjacency-sid')" { description "Only include the lan-adjacency-sids container when the type is bgp-ls-topo-attr-lan-adjacency-sid"; } description "This container contains the Adjacency Segment Identifiers (SIDs) of an adjacency to any node in a LAN other than the pseudonode"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1100"; list adjacency-sid { key "label-index format"; description "List of LAN adjacency SID"; uses bgp-ls-topo-adj-sid-attr; leaf neighbor-id { type union { type inet:ipv4-address; type ietf-isis-t:system-id; } description "Neighbor ID"; } } } container aslas { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-asla')" { description "Only include the aslas container when the type is bgp-ls-topo-attr-asla"; } description "This container acts as a container for link attributes that require application-specific definition"; reference "RFC 9294: Application-Specific Link Attributes Advertisement Using the Border Gateway Protocol - Link State (BGP-LS). TLV 1122"; Jethanandani, et al. Expires 5 May 2027 [Page 93] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 list asla { key "sabm udabm"; description "List of Application Specific Link Attributes (ASLA)"; leaf sabm { type binary { length "0|4|8"; } description "Standard Application Identifier Bit Mask (SABM). Optional bit mask of length 0, 4, or 8 octets where each bit represents a single standard application."; reference "RFC 9294: Application-Specific Link Attributes Advertisement Using the Border Gateway Protocol - Link State (BGP-LS), Section 2"; } leaf udabm { type binary { length "0|4|8"; } description "User-Defined Application Identifier Bit Mask (UDABM). Optional bit mask of length 0, 4, or 8 octets where each bit represents a single user-defined application."; reference "RFC 9294: Application-Specific Link Attributes Advertisement Using the Border Gateway Protocol - Link State (BGP-LS), Section 2;"; } list asla-attribute { key "type"; description "List of ASLA attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of ASLA attribute"; } Jethanandani, et al. Expires 5 May 2027 [Page 94] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container srlgs { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srlg')" { description "Only include the srlgs container when the type is bgp-ls-topo-attr-srlg"; } description "This container specifies the Shared Risk Link Groups (SRLGs) of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1096"; uses bgp-ls-topo-srlg-attr; } uses bgp-ls-topo-common-link-asla-l2-bundle-member-attr; } } } } grouping bgp-ls-topo-srv6-sid-struct-attr { description "Grouping for the BGP-LS topology SRv6 SID structure attribute"; leaf locator-block-len { type uint8; units "bits"; description "Locator block length"; } leaf locator-node-len { type uint8; units "bits"; description "Locator node length"; } leaf function-len { type uint8; units "bits"; description "Function length"; } Jethanandani, et al. Expires 5 May 2027 [Page 95] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf arg-len { type uint8; units "bits"; description "Argument length"; } } grouping bgp-ls-topo-srv6-endpoint-behavior-attr { description "Grouping for the BGP-LS topology SRv6 endpoint behavior attribute"; leaf endpoint-behavior { type uint8; description "Endpoint behavior of the SID"; } leaf flags { type binary { length "1"; } description "Flags associated with the SRv6 endpoint behavior"; } leaf algorithm { type uint8; description "Algorithm associated with the SID"; } } grouping bgp-ls-topo-srv6-end-x-sid-attr { description "Grouping for the BGP-LS topology SRv6 End.X SID attribute"; leaf sid { type inet:ipv6-address; description "SRv6 SID as a 128-bit value"; } leaf weight { type uint8; description Jethanandani, et al. Expires 5 May 2027 [Page 96] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "Weight associated with the SID for load balancing purpose"; } uses bgp-ls-topo-srv6-endpoint-behavior-attr; uses bgp-ls-topo-srv6-sid-struct-attr; } grouping bgp-ls-topo-unknown-attr { description "Grouping for the BGP-LS topology unknown attributes"; list unknown { key "type"; description "List of node FAD attribute types."; leaf type { type uint16; description "Attribute type."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.3."; } leaf value { type yang:hex-string; description "Attribute value."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.3."; } } } grouping bgp-ls-topo-node-attr { description "Grouping for the BGP-LS topology node attributes"; container node-attributes { description "Enclosing container for node attributes list"; list node-attribute { key "type"; Jethanandani, et al. Expires 5 May 2027 [Page 97] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "List of node attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of node attribute"; } container local-ipv4-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-local-ipv4-routerid')" { description "Only include the local-ipv4-router-ids container when the type is bgp-ls-topo-attr-local-ipv4-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1028"; uses bgp-ls-topo-ipv4-router-id-attr; } container local-ipv6-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-local-ipv6-routerid')" { description "Only include the local-ipv6-router-ids container when the type is bgp-ls-topo-attr-local-ipv6-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1029"; uses bgp-ls-topo-ipv6-router-id-attr; } Jethanandani, et al. Expires 5 May 2027 [Page 98] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container unknowns { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unknowns')" { description "Only include the unknowns container when the type is bgp-ls-topo-attr-unknowns"; } description "This container describes the unknown attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; uses bgp-ls-topo-unknown-attr; } container multi-topology-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-multi-topology-id')" { description "Only include the multi-topology-ids container when the type is bgp-ls-topo-attr-multi-topology-id"; } description "This container defines topologies."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 263"; leaf-list multi-topology-id { type uint16; description "List of Multi-Topology ID"; } } container node-flag-bits { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-node-flag-bits')" { description "Only include the node-flag-bits container when the type is bgp-ls-topo-attr-node-flag-bits"; } description "This container defines node attributes as a bit mask."; reference Jethanandani, et al. Expires 5 May 2027 [Page 99] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1024"; leaf flags { type bgp-ls-topo-t:node-flag-bits; description "Node flags"; } } container opaque-node-attribute { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-opaque-node')" { description "Only include the opaque-node-attribute container when the type is bgp-ls-topo-attr-opaque-node"; } description "This container defines an envelope that transparently carries optional Node Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1025"; uses bgp-ls-topo-opaque-attribute; } container node-name { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-node-name')" { description "Only include the node-name container when the type is bgp-ls-topo-attr-node-name"; } description "This container identifies the symbolic name of the router node"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1026"; leaf name { type string { length "1..255"; } description "Node name"; Jethanandani, et al. Expires 5 May 2027 [Page 100] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } } container sr-capabilities { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-sr-capabilities')" { description "Only include the sr-capabilities container when the type is bgp-ls-topo-attr-sr-capabilities"; } description "This container defines node's Segment Routing (SR) capabilities including its Segment Routing Global Base (SRGB) range(s)"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1034"; list srgb { key "start-label"; description "List of SRGB"; leaf start-label { type ietf-rt-t:mpls-label; description "First label in the range"; } leaf range-size { type uint32; description "Number of labels in the range"; } } leaf isis-flags { type binary { length "1"; } description "ISIS flags for IS-IS."; reference "RFC 8667: IS-IS Extensions for Segment Routing, Section 3.1."; } } Jethanandani, et al. Expires 5 May 2027 [Page 101] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container sr-local-block { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srlb')" { description "Only include the sr-local-block container when the type is bgp-ls-topo-attr-srlb"; } description "This container contains the range(s) of labels reserved by the node for local SIDs (Segment Identifiers)"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1036"; list srlb { key "start-label"; description "List of SRLB"; leaf start-label { type ietf-rt-t:mpls-label; description "First label in the range"; } leaf range-size { type uint32; description "Number of labels in the range"; } } } container sr-algorithm { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-sr-algorithm')" { description "Only include the sr-algorithm container when the type is bgp-ls-topo-attr-sr-algorithm"; } description "This container defines Segment Routing (SR) algorithms supported by the node"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1035"; Jethanandani, et al. Expires 5 May 2027 [Page 102] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf-list algorithm { type uint8; description "List of SR algorithms"; } } container node-msd { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-node-msd')" { description "Only include the node-msd container when the type is bgp-ls-topo-attr-node-msd"; } description "This container defines node Maximum SID Depth (MSD)."; reference "RFC 8814: Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State. TLV 266"; uses bgp-ls-topo-msd-attr; } container fads { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-fad')" { description "Only include the fads container when the type is bgp-ls-topo-attr-fad"; } description "This container defines the Flexible Algorithms supported by the node"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1039"; list fad { key "algorithm"; description "List of FADs"; leaf algorithm { type uint8 { range "128..255"; } Jethanandani, et al. Expires 5 May 2027 [Page 103] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Flexible algorithm"; } leaf metric-type { type uint8; description "Metric type"; } leaf calc-type { type uint8; description "Calculation type"; } leaf priority { type uint8; description "Priority of the FAD advertisement"; } container node-fad-attributes { description "Enclosing container for node FAD attributes list"; list node-fad-attribute { key "type"; description "List of node FAD attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-fad-type; } description "The type of node FAD attribute"; } container exclude-any-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-excl-any-aff')" { description "Only include the exclude-any-affinity container when the type is bgp-ls-topo-attr-fad-excl-any-aff"; Jethanandani, et al. Expires 5 May 2027 [Page 104] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } description "This container contains the affinity constraints associated with the FAD and enables the exclusion of links carrying any of the specified affinities from the computation of the specific algorithm"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1040"; uses bgp-ls-topo-eag-attr; } container include-any-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-incl-any-aff')" { description "Only include the include-any-affinity container when the type is bgp-ls-topo-attr-fad-incl-any-aff"; } description "This container contains the affinity constraints associated with the FAD and enables the inclusion of links carrying any of the specified affinities from the computation of the specific algorithm"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1041"; uses bgp-ls-topo-eag-attr; } container include-all-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-incl-all-aff')" { description "Only include the include-all-affinity container when the type is bgp-ls-topo-attr-fad-incl-all-aff"; } description "This container contains the affinity constraints Jethanandani, et al. Expires 5 May 2027 [Page 105] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 associated with the FAD and enables the inclusion of links carrying all of the specified affinities from the computation of the specific algorithm"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1042"; uses bgp-ls-topo-eag-attr; } container flags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-fad-flags')" { description "Only include the flags container when the type is bgp-ls-topo-attr-fad-flags"; } description "This container contains the flags associated with the FAD"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1043"; leaf flags { type binary { length "1..65535"; } description "Bit mask representing the FAD flags. The flags are derived from the IS-IS and OSPF protocol-specific Flexible Algorithm Definition Flags sub-TLV."; reference "RFC 9350: IGP Flexible Algorithm."; } } container exclude-srlg { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-excl-srlg')" { description "Only include the exclude-srlg container when the type is bgp-ls-topo-attr-fad-excl-srlg"; } Jethanandani, et al. Expires 5 May 2027 [Page 106] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "This container contains the affinity constraints associated with the FAD and enables the exclusion of links associated with any of the specified SRLG from the computation of the specific algorithm"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1045"; uses bgp-ls-topo-srlg-attr; } container exclude-minimum-bw { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-excl-minimum-bw')" { description "Only include the exclude-minimum-bw container when the type is bgp-ls-topo-attr-fad-excl-minimum-bw"; } description "This container enables the exclusion of links not having a minimum specified bandwidth from the computation of the specific algorithm"; reference "RFC TBD: BGP-LS extensions for IP Flexible Algorithms and Bandwidth, Delay, Metrics and Constraints. TLV TBD (1049)"; uses bgp-ls-topo-bw-attr; } container exclude-maximum-delay { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-excl-maximum-delay')" { description "Only include the exclude-maximum-delay container when the type is bgp-ls-topo-attr-fad-excl-maximum-delay"; } description "This container enables the exclusion of links having delay above a maximum specified delay from the computation of the specific algorithm"; Jethanandani, et al. Expires 5 May 2027 [Page 107] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC TBD: BGP-LS extensions for IP Flexible Algorithms and Bandwidth, Delay, Metrics and Constraints. TLV TBD (1050)"; uses bgp-ls-topo-delay-attr; } container exclude-any-reverse-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-excl-any-rev-aff')" { description "Only include the exclude-any-reverse-affinity container when the type is bgp-ls-topo-attr-fad-excl-any-rev-aff"; } description "This container contains the affinity constraints associated with the FAD and enables the exclusion of links carrying any of the specified affinities in the reverse direction from the computation of the specific algorithm"; reference "RFC TBD: BGP-LS extensions for Flexible Algorithms Reverse Affinity Constraint. TLV TBD (1053)"; uses bgp-ls-topo-eag-attr; } container include-any-reverse-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-incl-any-rev-aff')" { description "Only include the include-any-reverse-affinity container when the type is bgp-ls-topo-attr-fad-incl-any-rev-aff"; } description "This container contains the affinity constraints associated with the FAD and enables the inclusion of links carrying any of the specified affinities in the reverse direction from the computation of the specific algorithm"; reference "RFC TBD: BGP-LS extensions for Flexible Jethanandani, et al. Expires 5 May 2027 [Page 108] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Algorithms Reverse Affinity Constraint. TLV TBD (1054)"; uses bgp-ls-topo-eag-attr; } container include-all-reverse-affinity { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fad-incl-all-rev-aff')" { description "Only include the include-all-reverse-affinity container when the type is bgp-ls-topo-attr-fad-incl-all-rev-aff"; } description "This container contains the affinity constraints associated with the FAD and enables the inclusion of links carrying all of the specified affinities in the reverse direction from the computation of the specific algorithm"; reference "RFC TBD: BGP-LS extensions for Flexible Algorithms Reverse Affinity Constraint. TLV TBD (1055)"; uses bgp-ls-topo-eag-attr; } container fa-unsupported-tlvs { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fa-unsupported')" { description "Only include the fa-unsupported-tlvs container when the type is bgp-ls-topo-attr-fa-unsupported"; } description "Indicates the presence of unsupported Flexible Algorithm Definition (FAD) TLVs"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1046"; leaf protocol-id { type bgp-ls-topo-t:protocol; Jethanandani, et al. Expires 5 May 2027 [Page 109] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "BGP-LS protocol advertising the FAD"; } leaf-list type { type uint16; description "List of unsupported TLV types."; } } } } } } container isis-area-identifiers { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-isis-area-identifier')" { description "Only include the isis-area-identifiers container when the type is bgp-ls-topo-attr-isis-area-identifier"; } description "This container contains the ISIS area addresses"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1027"; leaf-list area-address { type ietf-isis-t:area-address; description "List of ISIS area addresses"; } } container srv6-capabilities-flags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srv6-cap-flags')" { description "Only include the srv6-cap-flags container when the type is bgp-ls-topo-attr-srv6-cap-flags"; } description "This container defines SRv6 capability flags."; reference "RFC 9514: SRv6 BGP-LS extensions."; Jethanandani, et al. Expires 5 May 2027 [Page 110] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 leaf flags { type binary { length "1"; } description "SRv6 capability flags."; } } } } } grouping bgp-ls-topo-igp-link-attr { description "Grouping for the BGP-LS topology link attributes"; container link-attributes { description "Enclosing container for link attributes list"; list link-attribute { key "type"; description "List of link attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of link attribute"; } uses bgp-ls-topo-common-link-asla-l2-bundle-member-attr; container link-local-remote-identifiers { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-link-local-remote-identifiers')" { description "Only include the link-local-remote-identifiers container when the type is bgp-ls-topo-attr-link-local-remote-identifiers"; } description "This container defines link local and remote identifiers."; Jethanandani, et al. Expires 5 May 2027 [Page 111] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 258"; leaf local-identifier { type uint32; description "Link local identifier"; } leaf remote-identifier { type uint32; description "Link remote identifier"; } } container link-msd { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-link-msd')" { description "Only include the link-msd container when the type is bgp-ls-topo-attr-link-msd"; } description "This container defines link Maximum SID Depth (MSD)."; reference "RFC 8814: Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State. TLV 267"; uses bgp-ls-topo-msd-attr; } container local-ipv4-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-local-ipv4-routerid')" { description "Only include the local-ipv4-router-ids container when the type is bgp-ls-topo-attr-local-ipv4-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1028"; Jethanandani, et al. Expires 5 May 2027 [Page 112] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 uses bgp-ls-topo-ipv4-router-id-attr; } container local-ipv6-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-local-ipv6-routerid')" { description "Only include the local-ipv6-router-ids container when the type is bgp-ls-topo-attr-local-ipv6-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1029"; uses bgp-ls-topo-ipv6-router-id-attr; } container remote-ipv4-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-remote-ipv4-routerid')" { description "Only include the remote-ipv4-router-ids container when the type is bgp-ls-topo-attr-remote-ipv4-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1030"; uses bgp-ls-topo-ipv4-router-id-attr; } container remote-ipv6-router-ids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-remote-ipv6-routerid')" { description "Only include the remote-ipv6-router-ids container when the type is Jethanandani, et al. Expires 5 May 2027 [Page 113] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bgp-ls-topo-attr-remote-ipv6-routerid"; } description "This container describes the auxiliary Router-IDs used by the IGP."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1031"; uses bgp-ls-topo-ipv6-router-id-attr; } container mpls-protocol-mask { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-mpls-protocol-mask')" { description "Only include the mpls-protocol-mask container when the type is bgp-ls-topo-attr-mpls-protocol-mask"; } description "This container contains the bit mask describing MPLS signaling protocols enabled"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1094"; leaf mask { type uint8; description "Bit mask of MPLS signaling protocols enabled"; } } container igp-metric { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-igp-metric')" { description "Only include the igp-metric container when the type is bgp-ls-topo-attr-igp-metric"; } description "This container specifies the metric of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1095"; leaf metric { Jethanandani, et al. Expires 5 May 2027 [Page 114] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint32; description "IGP metric"; } } container srlgs { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srlg')" { description "Only include the srlgs container when the type is bgp-ls-topo-attr-srlg"; } description "This container specifies the Shared Risk Link Groups (SRLGs) of a link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1096"; uses bgp-ls-topo-srlg-attr; } container opaque-link-attribute { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-opaque-link')" { description "Only include the opaque-link-attribute container when the type is bgp-ls-topo-attr-opaque-link"; } description "This container defines an envelope that transparently carries optional Link Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1097"; uses bgp-ls-topo-opaque-attribute; } container link-name { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-link-name')" { description "Only include the link-name container when the type is bgp-ls-topo-attr-link-name"; } Jethanandani, et al. Expires 5 May 2027 [Page 115] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "This container identifies the symbolic name of the link"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1098"; leaf name { type string { length "1..255"; } description "Link name"; } } container srv6-end-x-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srv6-end-x-sid')" { description "Only include the srv6-end-x-sids container when the type is bgp-ls-topo-attr-srv6-end-x-sid"; } description "This container contains the Segment Routing over IPv6 (SRv6) Segment Identifiers (SIDs) associated with an adjacency."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). TLV 1106"; list srv6-end-x-sid { key "sid"; description "List of SRv6 End.X SID"; uses bgp-ls-topo-srv6-end-x-sid-attr; } } container srv6-lan-end-x-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-isis-lan-end-x-sid')" + " or derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + Jethanandani, et al. Expires 5 May 2027 [Page 116] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "bgp-ls-topo-attr-srv6-ospf-lan-end-x-sid')" { description "Only include the srv6-lan-end-x-sids container when the type is bgp-ls-topo-attr-srv6-isis-lan-end-x-sid or bgp-ls-topo-attr-srv6-ospf-lan-end-x-sid"; } description "This container contains the Segment Routing over IPv6 (SRv6) Segment Identifiers (SIDs) of an adjacency to any node in a LAN other than the pseudonode"; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). TLV 1107 / 1108"; list srv6-end-x-sid { key "sid"; description "List of SRv6 LAN End.X SID"; uses bgp-ls-topo-srv6-end-x-sid-attr; leaf neighbor-id { type union { type inet:ipv4-address; type ietf-isis-t:system-id; } description "Neighbor ID"; } } } uses bgp-ls-topo-common-link-l2-bundle-member-attr; container l2-bundle-members { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-l2-bundle-member')" { description "Only include the l2-bundle-members container when the type is bgp-ls-topo-attr-l2-bundle-member"; } description "This container identifies an L2 bundle member link that is associated with a parent L3 link"; reference Jethanandani, et al. Expires 5 May 2027 [Page 117] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1172"; list l2-bundle-member { key "member-descriptor"; description "List of L2 bundle members"; leaf member-descriptor { type uint32; description "Link local identifier"; } list bundle-member-attribute { key "type"; description "List of bundle member attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of bundle member attribute"; } uses bgp-ls-topo-common-link-asla-l2-bundle-member-attr; uses bgp-ls-topo-common-link-l2-bundle-member-attr; } } } } } } grouping bgp-ls-topo-prefix-attr { description "Grouping for the BGP-LS topology prefix attributes"; container prefix-attributes { description "Enclosing container for prefix attributes list"; list prefix-attribute { Jethanandani, et al. Expires 5 May 2027 [Page 118] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 key "type"; description "List of prefix attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of prefix attribute"; } container flexible-algorithm-prefix-metric { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-fa-prefix-metric')" { description "Only include the flexible-algorithm-prefix-metric container when the type is bgp-ls-topo-attr-fa-prefix-metric"; } description "This container defines the metric associated with the prefix for a particular Flexible Algorithm (FA)"; reference "RFC 9351: Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement. TLV 1044"; list fa-prefix-metric { key "algorithm"; description "List of Flexible Algorithm prefix metrics"; leaf metric { type uint32; description "Flexible Algorithm prefix metric"; } leaf algorithm { type uint8 { range "128..255"; } description "Flexible Algorithm"; Jethanandani, et al. Expires 5 May 2027 [Page 119] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 } leaf flags { type binary { length "1"; } description "Flags associated with the Flexible Algorithm prefix metric as defined in RFC 9350 for OSPFv2"; } } } container igp-flags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-igp-flags')" { description "Only include the igp-flags container when the type is bgp-ls-topo-attr-igp-flags"; } description "This container specifies the flags and bits assigned to a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1152"; leaf flags { type bgp-ls-topo-t:igp-flags-bits; description "IGP flags"; } } container igp-route-tags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-igp-route-tag')" { description "Only include the igp-route-tags container when the type is bgp-ls-topo-attr-igp-route-tag"; } description "This container specifies the tags of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1153"; leaf-list tag { Jethanandani, et al. Expires 5 May 2027 [Page 120] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint32; description "List of IGP route tags"; } } container extended-igp-route-tags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-ext-igp-route-tag')" { description "Only include the extended-igp-route-tags container when the type is bgp-ls-topo-attr-ext-igp-route-tag"; } description "This container specifies the extended route tags of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1154"; leaf-list tag { type uint64; description "List of IGP extended route tags"; } } container prefix-metric { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-prefix-metric')" { description "Only include the prefix-metric container when the type is bgp-ls-topo-attr-prefix-metric"; } description "This container specifies the metric of a prefix"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1155"; leaf metric { type uint32; description "Prefix metric"; } } Jethanandani, et al. Expires 5 May 2027 [Page 121] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 container ospf-forwarding-address { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-ospf-forwarding-address')" { description "Only include the ospf-forwarding-address container when the type is bgp-ls-topo-attr-ospf-forwarding-address"; } description "This container specifies the forwarding address of a prefix as known in original OSPF advertisement"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1156"; leaf forw-address { type inet:ip-address; description "Forwarding address"; } } container opaque-prefix-attribute { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-opaque-prefix')" { description "Only include the opaque-prefix-attribute container when the type is bgp-ls-topo-attr-opaque-prefix"; } description "This container defines an envelope that transparently carries optional Prefix Attribute TLVs advertised by a router"; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP. TLV 1157"; uses bgp-ls-topo-opaque-attribute; } container prefix-sids { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-prefix-sid')" { description "Only include the prefix-sids container when the type is bgp-ls-topo-attr-prefix-sid"; } Jethanandani, et al. Expires 5 May 2027 [Page 122] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "This container contains the prefix Segment Identifiers (SIDs) of a prefix"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1158"; list prefix-sid { key "label-index format"; description "List of prefix SID"; leaf label-index { type uint32; description "Label or index"; } leaf format { type bgp-ls-topo-t:sid-format; description "Format of the SID"; } leaf flags { type binary { length "1"; } description "Flags as defined in Section 2.1.1 of RFC 8667 for ISIS, Section 5 of RFC 8665 for OSPFv2 and Section 6 of RFC 8665 for OSPFv3"; } leaf algorithm { type uint8; description "Algorithm"; } } } container prefix-range { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-prefix-range')" { description "Only include the prefix-range container when the Jethanandani, et al. Expires 5 May 2027 [Page 123] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type is bgp-ls-topo-attr-prefix-range"; } description "This container defines a range of prefix-to-SID mapping."; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1159"; leaf index { type uint32; description "Starting index of the range"; } leaf range-size { type uint16; description "Number of prefixes covered by the advertisement"; } leaf flags { type binary { length "1"; } description "Flags associated with the range taken from IS-IS SID/Label Binding TLV flags as defined in Section 2.4.1 of RFC 8667 for ISIS, OSPFv2 OSPF Extended Prefix Range TLV flags as defined in Section 4 of RFC 8665 for OSPFv2 and OSPFv3 Extended Prefix Range TLV flags as defined in Section 5 of RFC 8666 for OSPFv3"; } leaf algorithm { type uint8; description "Algorithm"; } leaf sid-flags { type binary { length "1"; } description "Flags associated with the SID as defined in Section 2.1.1 of RFC 8667 for ISIS, Section 5 of RFC 8665 for Jethanandani, et al. Expires 5 May 2027 [Page 124] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 OSPFv2 and Section 6 of RFC 8665 for OSPFv3"; } } container srv6-locator { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-srv6-locator')" { description "Only include the srv6-locator container when the type is bgp-ls-topo-attr-srv6-locator"; } description "This container contains the Segment Routing over IPv6 (SRv6) locator information associated with a prefix."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). TLV 1162"; leaf metric { type uint32; description "Flex algo prefix metric"; } leaf flags { type binary { length "1"; } description "Flags associated with the locator, copied from the IS-IS SRv6 Locator TLV (Section 7.1 of RFC 9352) for ISIS or the OSPFv3 SRv6 Locator TLV (Section 7.1 of RFC 9513) for OSPFv3"; } leaf algorithm { type uint8; description "Algorithm associated with the locator"; } } container prefix-attribute-flags { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-prefix-attribute-flags')" { description Jethanandani, et al. Expires 5 May 2027 [Page 125] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "Only include the prefix-attribute-flags container when the type is bgp-ls-topo-attr-prefix-attribute-flags"; } description "This container defines the prefix attribute flags of a prefix"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1170"; leaf flags { type binary { length "1"; } description "Prefix attribute flags as defined in Section 2.1 of RFC 7684 for OSPFv2, Appendix A.4.1.1 of RFC 5340 for OSPFv3, and Section 2.1 of RFC 7794 for IS-IS"; } } container prefix-source-router-id { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-prefix-src-router-id')" { description "Only include the prefix-source-router-id container when the type is bgp-ls-topo-attr-prefix-src-router-id"; } description "This container defines the source router identifier of a prefix"; reference "RFC 9085: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing. TLV 1171"; leaf source-router-id { type inet:ip-address; description "Source router ID"; } } container unknowns { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unknowns')" { Jethanandani, et al. Expires 5 May 2027 [Page 126] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 description "Only include the unknowns container when the type is bgp-ls-topo-attr-unknowns"; } description "This container describes the unknown attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; uses bgp-ls-topo-unknown-attr; } } } } grouping bgp-ls-topo-srv6-sid-attr { description "Grouping for the BGP-LS topology SRv6 SID attributes"; container srv6-sid-attributes { description "Enclosing container for SRv6 SID attributes list"; list srv6-sid-attribute { key "type"; description "List of SRv6 SID attribute types."; leaf type { type identityref { base bgp-ls-topo-t:bgp-ls-topo-attr-type; } description "The type of SRv6 SID attribute"; } container srv6-endpoint-behavior { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-endpoint-behavior')" { description "Only include the srv6-endpoint-behavior container when the type is bgp-ls-topo-attr-srv6-endpoint-behavior"; } description Jethanandani, et al. Expires 5 May 2027 [Page 127] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "This container contains the SRv6 endpoint behavior."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). SRv6 endpoint behavior. TLV 1250."; uses bgp-ls-topo-srv6-endpoint-behavior-attr; } container srv6-sid-structure { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:" + "bgp-ls-topo-attr-srv6-sid-structure')" { description "Only include the srv6-sid-structure container when the type is bgp-ls-topo-attr-srv6-sid-structure"; } description "This container defines the SRv6 SID structure."; reference "RFC 9514: Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6). SRv6 SID structure. TLV 1252."; uses bgp-ls-topo-srv6-sid-struct-attr; } container unknowns { when "derived-from-or-self(../type, " + "'bgp-ls-topo-t:bgp-ls-topo-attr-unknowns')" { description "Only include the unknowns container when the type is bgp-ls-topo-attr-unknowns"; } description "This container describes the unknown attributes."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; uses bgp-ls-topo-unknown-attr; } } } } } Jethanandani, et al. Expires 5 May 2027 [Page 128] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Figure 5: YANG Model for BGP-LS Topology Attributes 4.5. BGP Link-State Topology OSPF YANG model The ietf-bgp-ls-topo-ospf submodule defines three groupings that capture the OSPF-specific NLRI descriptor fields shared between OSPFv2 and OSPFv3: bgp-ls-ospf-node-common (for node NLRIs), bgp-ls- ospf-link-common (for link NLRIs), and bgp-ls-ospf-prefix-common (for prefix NLRIs). Each grouping includes the is-as-scoped leaf and the area-id leaf. When is-as-scoped is true, the NLRI is scoped to the entire AS and the area-id is not applicable; when false, the area-id identifies the OSPF area to which the NLRI belongs. The route-type leaf in bgp-ls-ospf-prefix-common distinguishes intra-area, inter- area, external Type 1, external Type 2, NSSA Type 1, and NSSA Type 2 routes, as defined in Section 5.2.3.2 of [RFC9552]. These groupings are used by the ietf-bgp-lsdb module for all four OSPFv2/OSPFv3 list types (node, link, prefix, and SRv6 SID), eliminating duplication and ensuring that the OSPF descriptor fields are consistently defined across all NLRI types. file "ietf-bgp-ls-topo-ospf@2026-11-02.yang" submodule ietf-bgp-ls-topo-ospf { yang-version 1.1; belongs-to ietf-bgp-lsdb { prefix "bgp-lsdb"; } import ietf-inet-types { prefix inet; reference "RFC 9911: Common YANG Data Types."; } import ietf-bgp-ls-topo-types { prefix bgp-ls-topo-t; reference "RFC XXXX: BGP Model for Link State Distribution."; } import ietf-routing-types { prefix ietf-rt-t; reference "RFC 8294: Common YANG Data Types for the Routing Area."; } import ietf-ospf { Jethanandani, et al. Expires 5 May 2027 [Page 129] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 prefix ietf-ospf-t; reference "RFC 9129: YANG Data Model for the OSPF Protocol."; } organization "IETF LSVR Working Group"; contact "WG Web: WG List: Authors: Mahesh Jethanandani (mjethanandani at gmail.com), Keyur Patel (keyur at arrcus.com)"; description "This submodule contains groupings for OSPFv2/OSPFv3 node and link NLRIs. Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; revision 2026-11-02 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } grouping bgp-ls-ospf-node-common { description Jethanandani, et al. Expires 5 May 2027 [Page 130] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "Common fields for OSPFv2 and OSPFv3 node NLRIs."; leaf is-as-scoped { type boolean; description "When true, the NLRI is AS-scoped and the area-id is not applicable."; } leaf area-id { type ietf-ospf-t:area-id-type; description "Area ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 514."; } leaf router-id { type ietf-rt-t:router-id; description "Router ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf dr-identifier { type union { type inet:ipv4-address; type uint32; } description "Designated Router (DR) Identifier."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference Jethanandani, et al. Expires 5 May 2027 [Page 131] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 512."; } } grouping bgp-ls-ospf-link-common { description "Common fields for OSPFv2 and OSPFv3 link NLRIs."; leaf area-id { type ietf-ospf-t:area-id-type; description "Area ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 514."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 512."; } leaf local-router-id { type ietf-rt-t:router-id; description "Local Router ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf remote-router-id { type ietf-rt-t:router-id; description "Remote Router ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Jethanandani, et al. Expires 5 May 2027 [Page 132] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Section 5.2.1. TLV 515."; } leaf local-id { type uint32; description "Local Identifier of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 258."; } leaf remote-id { type uint32; description "Remote Identifier of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 258."; } leaf local-ipv4-address { type inet:ipv4-address; description "Local IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 259."; } leaf remote-ipv4-address { type inet:ipv4-address; description "Remote IPv4 address of a link. Use 0.0.0.0 as a sentinel value when this address is not present (e.g., for unnumbered or IPv6-only links)."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2. TLV 260."; } leaf multi-topology-id { Jethanandani, et al. Expires 5 May 2027 [Page 133] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 type uint16; description "Multi Topology Identifier (MTID) of a link."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } } grouping bgp-ls-ospf-prefix-common { description "Common fields for OSPFv2 and OSPFv3 prefix NLRIs."; leaf is-as-scoped { type boolean; description "When true, the NLRI is AS-scoped and the area-id is not applicable."; } leaf area-id { type ietf-ospf-t:area-id-type; description "Area ID."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.1. TLV 514."; } leaf as { type inet:as-number; description "Autonomous System (AS) number associated with the BGP process originating the NLRI."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2. TLV 512."; } leaf router-id { type ietf-rt-t:router-id; description "Router ID."; reference "RFC 9552: Distribution of Link-State and Traffic Jethanandani, et al. Expires 5 May 2027 [Page 134] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Engineering Information Using BGP, Section 5.2.1. TLV 515."; } leaf route-type { type bgp-ls-topo-t:ospf-route-type; description "OSPF Route type of a prefix."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.3.1. TLV 264."; } leaf multi-topology-id { type uint16; description "Multi Topology Identifier (MTID) of a prefix."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP, Section 5.2.2.1. TLV 263."; } } } Figure 6: YANG Model for BGP-LS Topology OSPF 5. IANA Considerations This memo registers the following namespace URIs in the IETF XML Registry [RFC3688]: URI: urn:ietf:params:xml:ns:yang:ietf-bgp-ls Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. URI: urn:ietf:params:xml:ns:yang:ietf-bgp-lsdb Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. URI: urn:ietf:params:xml:ns:yang:ietf-bgp-ls-topo-types Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. Jethanandani, et al. Expires 5 May 2027 [Page 135] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 This document registers the following YANG modules in the "YANG Module Names" registry [RFC6020]: Name: ietf-bgp-ls Namespace: urn:ietf:params:xml:ns:yang:ietf-bgp-ls Prefix: bgp-ls Reference: RFC XXXX Name: ietf-bgp-lsdb Namespace: urn:ietf:params:xml:ns:yang:ietf-bgp-lsdb Prefix: bgp-lsdb Reference: RFC XXXX Name: ietf-bgp-ls-topo-types Namespace: urn:ietf:params:xml:ns:yang:ietf-bgp-ls-topo-types Prefix: bgp-ls-topo-t Reference: RFC XXXX 6. Security Considerations This section is modeled after the template described in Section 3.7.1 of [RFC9907]. 6.1. The "ietf-bgp-ls" YANG Module The "ietf-bgp-ls" YANG module defines a data model that is designed to be accessed via YANG-based management protocols, such as the Network Configuration Protocol (NETCONF) [RFC6241] and RESTCONF [RFC8040]. These YANG-based management protocols (1) have to use a secure transport layer (e.g., SSH [RFC4253], TLS [RFC9846], and QUIC [RFC9000]) and (2) have to use mutual authentication (e.g., for SSH, the SSH Authentication Protocol [RFC4252]). The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., "config true", which is the default). All writable data nodes are likely to be reasonably sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) and delete operations to these data nodes without proper protection or authentication can have a negative effect on network operations. The following subtrees and data nodes have particular sensitivities/vulnerabilities: Jethanandani, et al. Expires 5 May 2027 [Page 136] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 * The "link-state" container, under the global, neighbor, and peer- group "afi-safi" lists. Creating this container enables BGP-LS or BGP-LS-VPN, and deleting it disables them. Enabling it for an unauthorized neighbor or peer group causes the router to distribute its Link-State information to unintended recipients. Deleting it stops the distribution of topology information to the consumers that depend on it, such as path computation elements. * The "link-state-spf" container, under the global, neighbor, and peer-group "afi-safi" lists. BGP-LS-SPF determines the routing in a BGP SPF routing domain [RFC9815], so creating or deleting this container can disrupt routing throughout that domain. * The "prefix-limit" container, under the "link-state" and "link- state-spf" containers. Lowering "max-prefixes", together with setting "teardown", can cause BGP sessions to be torn down. Raising it removes a protection against resource exhaustion by a misbehaving or malicious peer. * The "max-rate" and "max-number" leaves, under the "link-state" container. Setting them too high exposes the router to resource exhaustion from a large number of, or rapidly changing, Link-State NLRIs. Setting them too low delays or prevents the processing of legitimate topology changes. * The "instance-identifier", "algorithm-type", and "node-status" leaves, under the global "link-state-spf" container. Changing "instance-identifier" moves the locally originated NLRIs to a different routing domain. An "algorithm-type" that does not match the rest of the domain can lead to inconsistent path computation. Setting "node-status" to mark the node as unreachable, or as not supporting transit traffic, removes the node from the SPF computation or from transit paths. Each of these can cause traffic to be diverted or dropped. * The "metric" and "status" leaves, under the neighbor and peer- group "link-state-spf" containers. Changing "metric" alters path selection throughout the BGP SPF routing domain, and could be used to attract traffic to a link for interception. Setting "status" to mark the link as unreachable removes it from the SPF computation, diverting the traffic that uses it. Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. Specifically, the following subtrees and data nodes have particular sensitivities/ vulnerabilities: Jethanandani, et al. Expires 5 May 2027 [Page 137] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 * The "bgp-ls-topology" container, under the global "link-state" and "link-state-spf" containers. It contains the Link-State Database, and with it a detailed view of the network topology: node names and router identifiers, interface and neighbor addresses, link metrics, bandwidth and delay, Shared Risk Link Groups, and Segment Routing and SRv6 SIDs. This information can be used to identify critical nodes, links, and shared risks for a targeted attack, or to craft packets that steer traffic through the network using its SIDs. * The "link-state" container, under the "afi-safi" list of the BGP RIB. Its Loc-RIB and per-neighbor Adj-RIB tables hold every Link- State NLRI, with its descriptors and its BGP-LS Attribute, and so expose the same topology information as the "bgp-ls-topology" container. In addition, the per-neighbor tables reveal which neighbors supply and receive that information, and the pre- and post-policy tables reveal the effect of the local import and export policies. * The "log" container, under the global "link-state-spf" container. The SPF events it records, and the NLRIs that triggered them, reveal when and where topology changes occurred in the BGP SPF routing domain. Some of the RPC or action operations in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control access to these operations. Specifically, the following operations have particular sensitivities/ vulnerabilities: * The "clear" action, under the per-neighbor "statistics" container. Clearing the BGP-LS and BGP-LS-SPF counters of a neighbor erases the record of the updates, errors, and SPF computations seen so far, which can hide evidence of an attack or misconfiguration and disrupt monitoring. * The "clear" actions under the "adj-rib-in-pre" and "adj-rib-in- post" containers of the per-neighbor Link-State RIB. Clearing these tables removes the Link-State routes received from the neighbor, after which the router may issue a route refresh or reset the BGP session. Until the routes are relearned, any topology information learned only from that neighbor is missing from the Link-State Database, and for BGP-LS-SPF, the SPF computation runs without it, which can divert or drop traffic in the BGP SPF routing domain. Jethanandani, et al. Expires 5 May 2027 [Page 138] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 * The "clear" actions under the "adj-rib-out-pre" and "adj-rib-out- post" containers of the per-neighbor Link-State RIB. Clearing these tables causes the router to re-advertise its Link-State routes to the neighbor. Used repeatedly, this generates update churn that consumes resources on the router, its neighbors, and the consumers of the topology information. Each of these "clear" actions accepts a "clear-at" time, so an operation can be scheduled to take effect later. Scheduled operations need the same access control as immediate ones. This YANG module uses groupings from other YANG modules that define nodes that may be considered sensitive or vulnerable in network environments. Refer to the Security Considerations of [I-D.ietf-idr-bgp-model] for information as to which nodes may be considered sensitive or vulnerable in network environments. 6.2. Modules without Data Nodes The "ietf-bgp-lsdb" and "ietf-bgp-ls-topo-types" YANG modules, together with the "ietf-bgp-ls-topo-attr" and "ietf-bgp-ls-topo-ospf" submodules of "ietf-bgp-lsdb", define a set of identities, types, and groupings. These nodes are intended to be reused by other YANG modules. The modules by themselves do not expose any data nodes that are writable, data nodes that contain read-only state, or RPCs. As such, there are no additional security issues related to these YANG modules that need to be considered. Modules that use the groupings that are defined in this document should identify the corresponding security considerations. For example, reusing the "lsdb-top" grouping will expose the network topology information described in Section 6.1 (e.g., "bgp-ls- topology"). 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . Jethanandani, et al. Expires 5 May 2027 [Page 139] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Common YANG Data Types for the Routing Area", RFC 8294, DOI 10.17487/RFC8294, December 2017, . [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, . [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10.17487/RFC8349, March 2018, . [RFC8814] Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., and N. Triantafillis, "Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State", RFC 8814, DOI 10.17487/RFC8814, August 2020, . [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, H., and M. Chen, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing", RFC 9085, DOI 10.17487/RFC9085, August 2021, . Jethanandani, et al. Expires 5 May 2027 [Page 140] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 [RFC9086] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K., Ray, S., and J. Dong, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August 2021, . [RFC9129] Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, "YANG Data Model for the OSPF Protocol", RFC 9129, DOI 10.17487/RFC9129, October 2022, . [RFC9130] Litkowski, S., Ed., Yeung, D., Lindem, A., Zhang, J., and L. Lhotka, "YANG Data Model for the IS-IS Protocol", RFC 9130, DOI 10.17487/RFC9130, October 2022, . [RFC9351] Talaulikar, K., Ed., Psenak, P., Zandi, S., and G. Dawra, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Flexible Algorithm Advertisement", RFC 9351, DOI 10.17487/RFC9351, February 2023, . [RFC9514] Dawra, G., Filsfils, C., Talaulikar, K., Ed., Chen, M., Bernier, D., and B. Decraene, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing over IPv6 (SRv6)", RFC 9514, DOI 10.17487/RFC9514, December 2023, . [RFC9552] Talaulikar, K., Ed., "Distribution of Link-State and Traffic Engineering Information Using BGP", RFC 9552, DOI 10.17487/RFC9552, December 2023, . [RFC9815] Patel, K., Lindem, A., Zandi, S., and W. Henderickx, "BGP Link State (BGP-LS) Shortest Path First (SPF) Routing", RFC 9815, DOI 10.17487/RFC9815, July 2025, . [RFC9911] Schönwälder, J., Ed., "Common YANG Data Types", RFC 9911, DOI 10.17487/RFC9911, December 2025, . [I-D.ietf-idr-bgp-model] Jethanandani, M., Patel, K., Hares, S., and J. Haas, "YANG Model for Border Gateway Protocol (BGP-4)", Work in Progress, Internet-Draft, draft-ietf-idr-bgp-model-22, 16 October 2026, . Jethanandani, et al. Expires 5 May 2027 [Page 141] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 7.2. Informative References [RFC4252] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Authentication Protocol", RFC 4252, DOI 10.17487/RFC4252, January 2006, . [RFC4253] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253, January 2006, . [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . [RFC9846] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 9846, DOI 10.17487/RFC9846, July 2026, . [RFC9907] Bierman, A., Boucadair, M., Ed., and Q. Wu, "Guidelines for Authors and Reviewers of Documents Containing YANG Data Models", BCP 216, RFC 9907, DOI 10.17487/RFC9907, March 2026, . Appendix A. Complete Tree Diagram Here is a complete tree diagram for the configuration and operational part of the model. module: ietf-bgp-ls augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:global /bgp:afi-safis/bgp:afi-safi: +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean Jethanandani, et al. Expires 5 May 2027 [Page 142] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 | +--ro bgp-ls-topology | +--ro instances | +--ro instance* (vrf-name protocol identifier) | +--ro vrf-name string | +--ro protocol bgp-ls-topo-t:protocol | +--ro identifier uint64 | +--ro nodes | | +--ro ospf-node* | | | (is-as-scoped area-id router-id dr-identifie r as) | | | +--ro is-as-scoped boolean | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro router-id ietf-rt-t:router-id | | | +--ro dr-identifier union | | | +--ro as inet:as-number | | | +--ro node-attributes | | | +--ro node-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro local-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro local-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? yang:hex-string | | | +--ro multi-topology-ids | | | | +--ro multi-topology-id* uint16 | | | +--ro node-flag-bits | | | | +--ro flags? | | | | bgp-ls-topo-t:node-flag-bits | | | +--ro opaque-node-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro node-name | | | | +--ro name? string | | | +--ro sr-capabilities | | | | +--ro srgb* (start-label) | | | | | +--ro start-label | | | | | | ietf-rt-t:mpls-label | | | | | +--ro range-size? uint32 | | | | +--ro isis-flags? binary | | | +--ro sr-local-block Jethanandani, et al. Expires 5 May 2027 [Page 143] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro srlb* (start-label) | | | | +--ro start-label | | | | | ietf-rt-t:mpls-label | | | | +--ro range-size? uint32 | | | +--ro sr-algorithm | | | | +--ro algorithm* uint8 | | | +--ro node-msd | | | | +--ro msd* (msd-type) | | | | +--ro msd-type uint8 | | | | +--ro msd-value? uint8 | | | +--ro fads | | | | +--ro fad* (algorithm) | | | | +--ro algorithm uint8 | | | | +--ro metric-type? uint8 | | | | +--ro calc-type? uint8 | | | | +--ro priority? uint8 | | | | +--ro node-fad-attributes | | | | +--ro node-fad-attribute* (type) | | | | +--ro type | | | | | identityref | | | | +--ro exclude-any-affinity | | | | | +--ro eag* uint32 | | | | +--ro include-any-affinity | | | | | +--ro eag* uint32 | | | | +--ro include-all-affinity | | | | | +--ro eag* uint32 | | | | +--ro flags | | | | | +--ro flags? binary | | | | +--ro exclude-srlg | | | | | +--ro srlg* uint32 | | | | +--ro exclude-minimum-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth- ieee-float32 | | | | +--ro exclude-maximum-delay | | | | | +--ro delay? uint32 | | | | +--ro exclude-any-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro include-any-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro include-all-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro fa-unsupported-tlvs | | | | +--ro protocol-id? | | | | | bgp-ls-topo-t:protoc Jethanandani, et al. Expires 5 May 2027 [Page 144] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 ol | | | | +--ro type* | | | | uint16 | | | +--ro isis-area-identifiers | | | | +--ro area-address* | | | | ietf-isis-t:area-address | | | +--ro srv6-capabilities-flags | | | +--ro flags? binary | | +--ro ospfv3-node* | | | (is-as-scoped area-id router-id dr-identifie r as) | | | +--ro is-as-scoped boolean | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro router-id ietf-rt-t:router-id | | | +--ro dr-identifier union | | | +--ro as inet:as-number | | | +--ro node-attributes | | | +--ro node-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro local-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro local-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? yang:hex-string | | | +--ro multi-topology-ids | | | | +--ro multi-topology-id* uint16 | | | +--ro node-flag-bits | | | | +--ro flags? | | | | bgp-ls-topo-t:node-flag-bits | | | +--ro opaque-node-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro node-name | | | | +--ro name? string | | | +--ro sr-capabilities | | | | +--ro srgb* (start-label) | | | | | +--ro start-label | | | | | | ietf-rt-t:mpls-label | | | | | +--ro range-size? uint32 | | | | +--ro isis-flags? binary | | | +--ro sr-local-block | | | | +--ro srlb* (start-label) | | | | +--ro start-label | | | | | ietf-rt-t:mpls-label Jethanandani, et al. Expires 5 May 2027 [Page 145] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro range-size? uint32 | | | +--ro sr-algorithm | | | | +--ro algorithm* uint8 | | | +--ro node-msd | | | | +--ro msd* (msd-type) | | | | +--ro msd-type uint8 | | | | +--ro msd-value? uint8 | | | +--ro fads | | | | +--ro fad* (algorithm) | | | | +--ro algorithm uint8 | | | | +--ro metric-type? uint8 | | | | +--ro calc-type? uint8 | | | | +--ro priority? uint8 | | | | +--ro node-fad-attributes | | | | +--ro node-fad-attribute* (type) | | | | +--ro type | | | | | identityref | | | | +--ro exclude-any-affinity | | | | | +--ro eag* uint32 | | | | +--ro include-any-affinity | | | | | +--ro eag* uint32 | | | | +--ro include-all-affinity | | | | | +--ro eag* uint32 | | | | +--ro flags | | | | | +--ro flags? binary | | | | +--ro exclude-srlg | | | | | +--ro srlg* uint32 | | | | +--ro exclude-minimum-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth- ieee-float32 | | | | +--ro exclude-maximum-delay | | | | | +--ro delay? uint32 | | | | +--ro exclude-any-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro include-any-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro include-all-reverse-affin ity | | | | | +--ro eag* uint32 | | | | +--ro fa-unsupported-tlvs | | | | +--ro protocol-id? | | | | | bgp-ls-topo-t:protoc ol | | | | +--ro type* | | | | uint16 Jethanandani, et al. Expires 5 May 2027 [Page 146] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro isis-area-identifiers | | | | +--ro area-address* | | | | ietf-isis-t:area-address | | | +--ro srv6-capabilities-flags | | | +--ro flags? binary | | +--ro isis-node* (system-id psn-id as) | | +--ro system-id ietf-isis-t:system-id | | +--ro psn-id uint8 | | +--ro as inet:as-number | | +--ro node-attributes | | +--ro node-attribute* (type) | | +--ro type | | | identityref | | +--ro local-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro multi-topology-ids | | | +--ro multi-topology-id* uint16 | | +--ro node-flag-bits | | | +--ro flags? | | | bgp-ls-topo-t:node-flag-bits | | +--ro opaque-node-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro node-name | | | +--ro name? string | | +--ro sr-capabilities | | | +--ro srgb* (start-label) | | | | +--ro start-label | | | | | ietf-rt-t:mpls-label | | | | +--ro range-size? uint32 | | | +--ro isis-flags? binary | | +--ro sr-local-block | | | +--ro srlb* (start-label) | | | +--ro start-label | | | | ietf-rt-t:mpls-label | | | +--ro range-size? uint32 | | +--ro sr-algorithm | | | +--ro algorithm* uint8 | | +--ro node-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro fads Jethanandani, et al. Expires 5 May 2027 [Page 147] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro fad* (algorithm) | | | +--ro algorithm uint8 | | | +--ro metric-type? uint8 | | | +--ro calc-type? uint8 | | | +--ro priority? uint8 | | | +--ro node-fad-attributes | | | +--ro node-fad-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro exclude-any-affinity | | | | +--ro eag* uint32 | | | +--ro include-any-affinity | | | | +--ro eag* uint32 | | | +--ro include-all-affinity | | | | +--ro eag* uint32 | | | +--ro flags | | | | +--ro flags? binary | | | +--ro exclude-srlg | | | | +--ro srlg* uint32 | | | +--ro exclude-minimum-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro exclude-maximum-delay | | | | +--ro delay? uint32 | | | +--ro exclude-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-all-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro fa-unsupported-tlvs | | | +--ro protocol-id? | | | | bgp-ls-topo-t:protoc ol | | | +--ro type* | | | uint16 | | +--ro isis-area-identifiers | | | +--ro area-address* | | | ietf-isis-t:area-address | | +--ro srv6-capabilities-flags | | +--ro flags? binary | +--ro links | | +--ro ospf-link* | | | (area-id as local-router-id local-dr-identif Jethanandani, et al. Expires 5 May 2027 [Page 148] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 ier remote-router-id remote-dr-identifier local-id remote-id local-ipv4 -address remote-ipv4-address multi-topology-id) | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro as inet:as-number | | | +--ro local-router-id | | | | ietf-rt-t:router-id | | | +--ro remote-router-id | | | | ietf-rt-t:router-id | | | +--ro local-id uint32 | | | +--ro remote-id uint32 | | | +--ro local-ipv4-address inet:ipv4-address | | | +--ro remote-ipv4-address inet:ipv4-address | | | +--ro multi-topology-id uint16 | | | +--ro local-dr-identifier inet:ipv4-address | | | +--ro remote-dr-identifier inet:ipv4-address | | | +--ro link-attributes | | | +--ro link-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link-delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variation | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns Jethanandani, et al. Expires 5 May 2027 [Page 149] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? yang:hex-string | | | +--ro link-local-remote-identifiers | | | | +--ro local-identifier? uint32 | | | | +--ro remote-identifier? uint32 | | | +--ro link-msd | | | | +--ro msd* (msd-type) | | | | +--ro msd-type uint8 | | | | +--ro msd-value? uint8 | | | +--ro local-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro local-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro remote-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro remote-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro mpls-protocol-mask | | | | +--ro mask? uint8 | | | +--ro igp-metric | | | | +--ro metric? uint32 | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro opaque-link-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro link-name | | | | +--ro name? string | | | +--ro srv6-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | +--ro srv6-lan-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 150] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | | +--ro neighbor-id? union | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth-ieee-floa t32 | | | +--ro link-protection-type | | | | +--ro type? uint16 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | | +--ro asla* (sabm udabm) | | | | +--ro sabm binary | | | | +--ro udabm binary | | | | +--ro asla-attribute* (type) | | | | +--ro type | | | | | identityref | | | | +--ro srlgs | | | | | +--ro srlg* uint32 | | | | +--ro te-default-metric | | | | | +--ro metric? uint32 | | | | +--ro unidirectional-link-delay Jethanandani, et al. Expires 5 May 2027 [Page 151] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro delay? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro min-max-unidirectional-link- delay | | | | | +--ro min | | | | | | +--ro delay? uint32 | | | | | +--ro max | | | | | | +--ro delay? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-delay-variati on | | | | | +--ro delay? uint32 | | | | +--ro unidirectional-link-loss | | | | | +--ro link-loss? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-residual-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-available-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-utilized-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro extended-admin-group | | | | | +--ro eag* uint32 | | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro l2-bundle-members | | | +--ro l2-bundle-member* | | | (member-descriptor) | | | +--ro member-descriptor | | | | uint32 | | | +--ro bundle-member-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean Jethanandani, et al. Expires 5 May 2027 [Page 152] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro min-max-unidirectional-link- delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* | | | | (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro link-protection-type Jethanandani, et al. Expires 5 May 2027 [Page 153] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro type? uint16 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm | | | | binary | | | +--ro udabm | | | | binary | | | +--ro asla-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? | | | | uint32 | | | +--ro unidirectional-link -delay | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro min-max-unidirectio nal-link-delay | | | | +--ro min Jethanandani, et al. Expires 5 May 2027 [Page 154] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro delay? | | | | | uint32 | | | | +--ro max | | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-dela y-variation | | | | +--ro delay? | | | | uint32 | | | +--ro unidirectional-link -loss | | | | +--ro link-loss? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-resi dual-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-avai lable-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-util ized-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro extended-admin-grou p | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* | | | (type) | | | +--ro type | | | | uint16 | | | +--ro value? | | | yang:hex-st ring | | +--ro ospfv3-link* | | | (area-id as local-router-id local-dr-identif ier remote-router-id remote-dr-identifier local-id remote-id local-ipv4 -address remote-ipv4-address local-ipv6-address remote-ipv6-address mul ti-topology-id) Jethanandani, et al. Expires 5 May 2027 [Page 155] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro as inet:as-number | | | +--ro local-router-id | | | | ietf-rt-t:router-id | | | +--ro remote-router-id | | | | ietf-rt-t:router-id | | | +--ro local-id uint32 | | | +--ro remote-id uint32 | | | +--ro local-ipv4-address inet:ipv4-address | | | +--ro remote-ipv4-address inet:ipv4-address | | | +--ro multi-topology-id uint16 | | | +--ro local-dr-identifier uint32 | | | +--ro remote-dr-identifier uint32 | | | +--ro local-ipv6-address inet:ipv6-address | | | +--ro remote-ipv6-address inet:ipv6-address | | | +--ro link-attributes | | | +--ro link-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link-delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variation | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns Jethanandani, et al. Expires 5 May 2027 [Page 156] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? yang:hex-string | | | +--ro link-local-remote-identifiers | | | | +--ro local-identifier? uint32 | | | | +--ro remote-identifier? uint32 | | | +--ro link-msd | | | | +--ro msd* (msd-type) | | | | +--ro msd-type uint8 | | | | +--ro msd-value? uint8 | | | +--ro local-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro local-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro remote-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro remote-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro mpls-protocol-mask | | | | +--ro mask? uint8 | | | +--ro igp-metric | | | | +--ro metric? uint32 | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro opaque-link-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro link-name | | | | +--ro name? string | | | +--ro srv6-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | +--ro srv6-lan-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 157] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | | +--ro neighbor-id? union | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth-ieee-floa t32 | | | +--ro link-protection-type | | | | +--ro type? uint16 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | | +--ro asla* (sabm udabm) | | | | +--ro sabm binary | | | | +--ro udabm binary | | | | +--ro asla-attribute* (type) | | | | +--ro type | | | | | identityref | | | | +--ro srlgs | | | | | +--ro srlg* uint32 | | | | +--ro te-default-metric | | | | | +--ro metric? uint32 | | | | +--ro unidirectional-link-delay Jethanandani, et al. Expires 5 May 2027 [Page 158] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro delay? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro min-max-unidirectional-link- delay | | | | | +--ro min | | | | | | +--ro delay? uint32 | | | | | +--ro max | | | | | | +--ro delay? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-delay-variati on | | | | | +--ro delay? uint32 | | | | +--ro unidirectional-link-loss | | | | | +--ro link-loss? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-residual-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-available-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-utilized-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro extended-admin-group | | | | | +--ro eag* uint32 | | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro l2-bundle-members | | | +--ro l2-bundle-member* | | | (member-descriptor) | | | +--ro member-descriptor | | | | uint32 | | | +--ro bundle-member-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean Jethanandani, et al. Expires 5 May 2027 [Page 159] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro min-max-unidirectional-link- delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* | | | | (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro link-protection-type Jethanandani, et al. Expires 5 May 2027 [Page 160] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro type? uint16 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm | | | | binary | | | +--ro udabm | | | | binary | | | +--ro asla-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? | | | | uint32 | | | +--ro unidirectional-link -delay | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro min-max-unidirectio nal-link-delay | | | | +--ro min Jethanandani, et al. Expires 5 May 2027 [Page 161] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro delay? | | | | | uint32 | | | | +--ro max | | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-dela y-variation | | | | +--ro delay? | | | | uint32 | | | +--ro unidirectional-link -loss | | | | +--ro link-loss? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-resi dual-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-avai lable-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-util ized-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro extended-admin-grou p | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* | | | (type) | | | +--ro type | | | | uint16 | | | +--ro value? | | | yang:hex-st ring | | +--ro isis-link* | | | (local-system-id local-psn-id local-as remot e-system-id remote-psn-id remote-as local-id remote-id local-ipv4-addre ss remote-ipv4-address local-ipv6-address remote-ipv6-address multi-top ology-id) Jethanandani, et al. Expires 5 May 2027 [Page 162] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro local-system-id | | | | ietf-isis-t:system-id | | | +--ro local-psn-id uint8 | | | +--ro local-as inet:as-number | | | +--ro remote-system-id | | | | ietf-isis-t:system-id | | | +--ro remote-psn-id uint8 | | | +--ro remote-as inet:as-number | | | +--ro local-id uint32 | | | +--ro remote-id uint32 | | | +--ro local-ipv4-address inet:ipv4-address | | | +--ro remote-ipv4-address inet:ipv4-address | | | +--ro local-ipv6-address inet:ipv6-address | | | +--ro remote-ipv6-address inet:ipv6-address | | | +--ro multi-topology-id uint16 | | | +--ro link-attributes | | | +--ro link-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link-delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variation | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | | +--ro unknown* (type) Jethanandani, et al. Expires 5 May 2027 [Page 163] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro type uint16 | | | | +--ro value? yang:hex-string | | | +--ro link-local-remote-identifiers | | | | +--ro local-identifier? uint32 | | | | +--ro remote-identifier? uint32 | | | +--ro link-msd | | | | +--ro msd* (msd-type) | | | | +--ro msd-type uint8 | | | | +--ro msd-value? uint8 | | | +--ro local-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro local-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro remote-ipv4-router-ids | | | | +--ro router-id* ietf-rt-t:router-id | | | +--ro remote-ipv6-router-ids | | | | +--ro router-id* inet:ipv6-address | | | +--ro mpls-protocol-mask | | | | +--ro mask? uint8 | | | +--ro igp-metric | | | | +--ro metric? uint32 | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro opaque-link-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro link-name | | | | +--ro name? string | | | +--ro srv6-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | +--ro srv6-lan-end-x-sids | | | | +--ro srv6-end-x-sid* (sid) | | | | +--ro sid | | | | | inet:ipv6-address | | | | +--ro weight? uint8 | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro locator-block-len? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 164] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | | +--ro neighbor-id? union | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-ieee-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth-ieee-floa t32 | | | +--ro link-protection-type | | | | +--ro type? uint16 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | | +--ro asla* (sabm udabm) | | | | +--ro sabm binary | | | | +--ro udabm binary | | | | +--ro asla-attribute* (type) | | | | +--ro type | | | | | identityref | | | | +--ro srlgs | | | | | +--ro srlg* uint32 | | | | +--ro te-default-metric | | | | | +--ro metric? uint32 | | | | +--ro unidirectional-link-delay | | | | | +--ro delay? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 165] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro anomaly? boolean | | | | +--ro min-max-unidirectional-link- delay | | | | | +--ro min | | | | | | +--ro delay? uint32 | | | | | +--ro max | | | | | | +--ro delay? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-delay-variati on | | | | | +--ro delay? uint32 | | | | +--ro unidirectional-link-loss | | | | | +--ro link-loss? uint32 | | | | | +--ro anomaly? boolean | | | | +--ro unidirectional-residual-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-available-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro unidirectional-utilized-bw | | | | | +--ro bw? | | | | | ietf-rt-t:bandwidth-iee e-float32 | | | | +--ro extended-admin-group | | | | | +--ro eag* uint32 | | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro l2-bundle-members | | | +--ro l2-bundle-member* | | | (member-descriptor) | | | +--ro member-descriptor | | | | uint32 | | | +--ro bundle-member-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link- Jethanandani, et al. Expires 5 May 2027 [Page 166] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | | +--ro unknown* (type) | | | | +--ro type uint16 | | | | +--ro value? | | | | yang:hex-string | | | +--ro maximum-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro maximum-reservable-link-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unreserved-bws | | | | +--ro unreserved-bw* | | | | (priority) | | | | +--ro priority uint8 | | | | +--ro bandwidth? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro link-protection-type | | | | +--ro type? uint16 Jethanandani, et al. Expires 5 May 2027 [Page 167] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | +--ro lan-adjacency-sids | | | | +--ro adjacency-sid* | | | | (label-index format) | | | | +--ro label-index | | | | | uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-fo rmat | | | | +--ro flags? | | | | | binary | | | | +--ro weight? uint8 | | | | +--ro neighbor-id? union | | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm | | | | binary | | | +--ro udabm | | | | binary | | | +--ro asla-attribute* | | | (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? | | | | uint32 | | | +--ro unidirectional-link -delay | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro min-max-unidirectio nal-link-delay | | | | +--ro min | | | | | +--ro delay? Jethanandani, et al. Expires 5 May 2027 [Page 168] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | uint32 | | | | +--ro max | | | | | +--ro delay? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-dela y-variation | | | | +--ro delay? | | | | uint32 | | | +--ro unidirectional-link -loss | | | | +--ro link-loss? | | | | | uint32 | | | | +--ro anomaly? | | | | boolean | | | +--ro unidirectional-resi dual-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-avai lable-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro unidirectional-util ized-bw | | | | +--ro bw? | | | | ietf-rt-t:band width-ieee-float32 | | | +--ro extended-admin-grou p | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* | | | (type) | | | +--ro type | | | | uint16 | | | +--ro value? | | | yang:hex-st ring | | +--ro bgp-link* | | (local-as local-router-id remote-as remote-r outer-id local-id remote-id local-ipv4-address remote-ipv4-address loca l-ipv6-address remote-ipv6-address multi-topology-id) | | +--ro local-as inet:as-number | | +--ro local-router-id Jethanandani, et al. Expires 5 May 2027 [Page 169] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | ietf-rt-t:router-id | | +--ro remote-as inet:as-number | | +--ro remote-router-id | | | ietf-rt-t:router-id | | +--ro local-id uint32 | | +--ro remote-id uint32 | | +--ro local-ipv4-address inet:ipv4-address | | +--ro remote-ipv4-address inet:ipv4-address | | +--ro local-ipv6-address inet:ipv6-address | | +--ro remote-ipv6-address inet:ipv6-address | | +--ro multi-topology-id uint16 | | +--ro link-attributes | | +--ro link-attribute* (type) | | +--ro type identityref | | +--ro bgp-peer-sids | | +--ro bgp-peer-sid* | | (label-index format) | | +--ro label-index uint32 | | +--ro format | | | bgp-ls-topo-t:sid-format | | +--ro flags? binary | | +--ro weight? uint8 | +--ro prefixes | | +--ro ospf-prefix* | | | (is-as-scoped area-id as router-id dr-identi fier multi-topology-id route-type prefix) | | | +--ro is-as-scoped boolean | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro as inet:as-number | | | +--ro router-id ietf-rt-t:router-id | | | +--ro route-type | | | | bgp-ls-topo-t:ospf-route-type | | | +--ro multi-topology-id uint16 | | | +--ro dr-identifier inet:ipv4-address | | | +--ro prefix inet:ipv4-prefix | | | +--ro prefix-attributes | | | +--ro prefix-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro flexible-algorithm-prefix-metric | | | | +--ro fa-prefix-metric* (algorithm) | | | | +--ro metric? uint32 | | | | +--ro algorithm uint8 | | | | +--ro flags? binary | | | +--ro igp-flags | | | | +--ro flags? | | | | bgp-ls-topo-t:igp-flags-bits Jethanandani, et al. Expires 5 May 2027 [Page 170] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro igp-route-tags | | | | +--ro tag* uint32 | | | +--ro extended-igp-route-tags | | | | +--ro tag* uint64 | | | +--ro prefix-metric | | | | +--ro metric? uint32 | | | +--ro ospf-forwarding-address | | | | +--ro forw-address? inet:ip-address | | | +--ro opaque-prefix-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro prefix-sids | | | | +--ro prefix-sid* (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro prefix-range | | | | +--ro index? uint32 | | | | +--ro range-size? uint16 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro sid-flags? binary | | | +--ro srv6-locator | | | | +--ro metric? uint32 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro prefix-attribute-flags | | | | +--ro flags? binary | | | +--ro prefix-source-router-id | | | | +--ro source-router-id? | | | | inet:ip-address | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro ospfv3-prefix* | | | (is-as-scoped area-id as router-id dr-identi fier multi-topology-id route-type prefix) | | | +--ro is-as-scoped boolean | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro as inet:as-number | | | +--ro router-id ietf-rt-t:router-id | | | +--ro route-type | | | | bgp-ls-topo-t:ospf-route-type | | | +--ro multi-topology-id uint16 | | | +--ro dr-identifier uint32 Jethanandani, et al. Expires 5 May 2027 [Page 171] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro prefix inet:ip-prefix | | | +--ro prefix-attributes | | | +--ro prefix-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro flexible-algorithm-prefix-metric | | | | +--ro fa-prefix-metric* (algorithm) | | | | +--ro metric? uint32 | | | | +--ro algorithm uint8 | | | | +--ro flags? binary | | | +--ro igp-flags | | | | +--ro flags? | | | | bgp-ls-topo-t:igp-flags-bits | | | +--ro igp-route-tags | | | | +--ro tag* uint32 | | | +--ro extended-igp-route-tags | | | | +--ro tag* uint64 | | | +--ro prefix-metric | | | | +--ro metric? uint32 | | | +--ro ospf-forwarding-address | | | | +--ro forw-address? inet:ip-address | | | +--ro opaque-prefix-attribute | | | | +--ro opaque-attrs? yang:hex-string | | | +--ro prefix-sids | | | | +--ro prefix-sid* (label-index format) | | | | +--ro label-index uint32 | | | | +--ro format | | | | | bgp-ls-topo-t:sid-format | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro prefix-range | | | | +--ro index? uint32 | | | | +--ro range-size? uint16 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | | +--ro sid-flags? binary | | | +--ro srv6-locator | | | | +--ro metric? uint32 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro prefix-attribute-flags | | | | +--ro flags? binary | | | +--ro prefix-source-router-id | | | | +--ro source-router-id? | | | | inet:ip-address | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 Jethanandani, et al. Expires 5 May 2027 [Page 172] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro value? yang:hex-string | | +--ro isis-prefix* | | (system-id psn-id as multi-topology-id prefi x) | | +--ro system-id | | | ietf-isis-t:system-id | | +--ro psn-id uint8 | | +--ro as inet:as-number | | +--ro multi-topology-id uint16 | | +--ro prefix inet:ip-prefix | | +--ro prefix-attributes | | +--ro prefix-attribute* (type) | | +--ro type | | | identityref | | +--ro flexible-algorithm-prefix-metric | | | +--ro fa-prefix-metric* (algorithm) | | | +--ro metric? uint32 | | | +--ro algorithm uint8 | | | +--ro flags? binary | | +--ro igp-flags | | | +--ro flags? | | | bgp-ls-topo-t:igp-flags-bits | | +--ro igp-route-tags | | | +--ro tag* uint32 | | +--ro extended-igp-route-tags | | | +--ro tag* uint64 | | +--ro prefix-metric | | | +--ro metric? uint32 | | +--ro ospf-forwarding-address | | | +--ro forw-address? inet:ip-address | | +--ro opaque-prefix-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro prefix-sids | | | +--ro prefix-sid* (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro prefix-range | | | +--ro index? uint32 | | | +--ro range-size? uint16 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro sid-flags? binary | | +--ro srv6-locator | | | +--ro metric? uint32 | | | +--ro flags? binary Jethanandani, et al. Expires 5 May 2027 [Page 173] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro algorithm? uint8 | | +--ro prefix-attribute-flags | | | +--ro flags? binary | | +--ro prefix-source-router-id | | | +--ro source-router-id? | | | inet:ip-address | | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro srv6-sids | | +--ro ospfv3-srv6-sid* | | | (is-as-scoped area-id router-id dr-identifie r as sid multi-topology-id) | | | +--ro is-as-scoped boolean | | | +--ro area-id | | | | ietf-ospf-t:area-id-type | | | +--ro router-id | | | | ietf-rt-t:router-id | | | +--ro dr-identifier uint32 | | | +--ro as inet:as-number | | | +--ro sid inet:ipv6-prefix | | | +--ro multi-topology-id uint16 | | | +--ro srv6-sid-attributes | | | +--ro srv6-sid-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro srv6-endpoint-behavior | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro srv6-sid-structure | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro isis-srv6-sid* | | | (system-id psn-id as sid multi-topology-id) | | | +--ro system-id | | | | ietf-isis-t:system-id | | | +--ro psn-id uint8 | | | +--ro as inet:as-number | | | +--ro sid inet:ipv6-prefix | | | +--ro multi-topology-id uint16 Jethanandani, et al. Expires 5 May 2027 [Page 174] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro srv6-sid-attributes | | | +--ro srv6-sid-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro srv6-endpoint-behavior | | | | +--ro endpoint-behavior? uint8 | | | | +--ro flags? binary | | | | +--ro algorithm? uint8 | | | +--ro srv6-sid-structure | | | | +--ro locator-block-len? uint8 | | | | +--ro locator-node-len? uint8 | | | | +--ro function-len? uint8 | | | | +--ro arg-len? uint8 | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro bgp-srv6-sid* | | (router-id as sid multi-topology-id) | | +--ro router-id | | | ietf-rt-t:router-id | | +--ro as inet:as-number | | +--ro sid inet:ipv6-prefix | | +--ro multi-topology-id uint16 | | +--ro srv6-sid-attributes | | +--ro srv6-sid-attribute* (type) | | +--ro type | | | identityref | | +--ro srv6-endpoint-behavior | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro srv6-sid-structure | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro srv6-bgp-peer-node-sid | | +--ro flags? binary | | +--ro weight? uint8 | | +--ro peer-as? inet:as-number | | +--ro peer-bgp-id? | | ietf-rt-t:router-id | +--ro unknowns Jethanandani, et al. Expires 5 May 2027 [Page 175] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--ro unknown* (nlri) | +--ro nlri yang:hex-string | +--ro attributes? yang:hex-string +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw instance-identifier? uint64 +--rw algorithm-type? spf-algorithm-type +--rw node-status? enumeration +--ro log | +--ro event* (id) | +--ro id uint32 | +--ro type? enumeration | +--ro schedule-time? yang:date-and-time | +--ro delay? uint64 | +--ro start-time? yang:date-and-time | +--ro end-time? yang:date-and-time | +--ro duration? uint64 | +--ro node-count? uint64 | +--ro prefix-count? uint64 | +--ro route-download-count? uint64 | +--ro lsp-trigger* (id) | +--ro id uint32 | +--ro nlri-prefix? string | +--ro nlri-sequence? uint32 | +--ro trigger-time? yang:date-and-time +--ro bgp-ls-topology +--ro instances +--ro instance* (vrf-name protocol identifier) +--ro vrf-name string +--ro protocol bgp-ls-topo-t:protocol +--ro identifier uint64 +--ro nodes | +--ro ospf-node* | | (is-as-scoped area-id router-id dr-identifie r as) | | +--ro is-as-scoped boolean | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro router-id ietf-rt-t:router-id | | +--ro dr-identifier union | | +--ro as inet:as-number | | +--ro node-attributes | | +--ro node-attribute* (type) Jethanandani, et al. Expires 5 May 2027 [Page 176] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro type | | | identityref | | +--ro local-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro multi-topology-ids | | | +--ro multi-topology-id* uint16 | | +--ro node-flag-bits | | | +--ro flags? | | | bgp-ls-topo-t:node-flag-bits | | +--ro opaque-node-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro node-name | | | +--ro name? string | | +--ro sr-capabilities | | | +--ro srgb* (start-label) | | | | +--ro start-label | | | | | ietf-rt-t:mpls-label | | | | +--ro range-size? uint32 | | | +--ro isis-flags? binary | | +--ro sr-local-block | | | +--ro srlb* (start-label) | | | +--ro start-label | | | | ietf-rt-t:mpls-label | | | +--ro range-size? uint32 | | +--ro sr-algorithm | | | +--ro algorithm* uint8 | | +--ro node-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro fads | | | +--ro fad* (algorithm) | | | +--ro algorithm uint8 | | | +--ro metric-type? uint8 | | | +--ro calc-type? uint8 | | | +--ro priority? uint8 | | | +--ro node-fad-attributes | | | +--ro node-fad-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro exclude-any-affinity | | | | +--ro eag* uint32 Jethanandani, et al. Expires 5 May 2027 [Page 177] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro include-any-affinity | | | | +--ro eag* uint32 | | | +--ro include-all-affinity | | | | +--ro eag* uint32 | | | +--ro flags | | | | +--ro flags? binary | | | +--ro exclude-srlg | | | | +--ro srlg* uint32 | | | +--ro exclude-minimum-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro exclude-maximum-delay | | | | +--ro delay? uint32 | | | +--ro exclude-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-all-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro fa-unsupported-tlvs | | | +--ro protocol-id? | | | | bgp-ls-topo-t:protoc ol | | | +--ro type* | | | uint16 | | +--ro isis-area-identifiers | | | +--ro area-address* | | | ietf-isis-t:area-address | | +--ro srv6-capabilities-flags | | +--ro flags? binary | +--ro ospfv3-node* | | (is-as-scoped area-id router-id dr-identifie r as) | | +--ro is-as-scoped boolean | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro router-id ietf-rt-t:router-id | | +--ro dr-identifier union | | +--ro as inet:as-number | | +--ro node-attributes | | +--ro node-attribute* (type) | | +--ro type | | | identityref | | +--ro local-ipv4-router-ids Jethanandani, et al. Expires 5 May 2027 [Page 178] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro multi-topology-ids | | | +--ro multi-topology-id* uint16 | | +--ro node-flag-bits | | | +--ro flags? | | | bgp-ls-topo-t:node-flag-bits | | +--ro opaque-node-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro node-name | | | +--ro name? string | | +--ro sr-capabilities | | | +--ro srgb* (start-label) | | | | +--ro start-label | | | | | ietf-rt-t:mpls-label | | | | +--ro range-size? uint32 | | | +--ro isis-flags? binary | | +--ro sr-local-block | | | +--ro srlb* (start-label) | | | +--ro start-label | | | | ietf-rt-t:mpls-label | | | +--ro range-size? uint32 | | +--ro sr-algorithm | | | +--ro algorithm* uint8 | | +--ro node-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro fads | | | +--ro fad* (algorithm) | | | +--ro algorithm uint8 | | | +--ro metric-type? uint8 | | | +--ro calc-type? uint8 | | | +--ro priority? uint8 | | | +--ro node-fad-attributes | | | +--ro node-fad-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro exclude-any-affinity | | | | +--ro eag* uint32 | | | +--ro include-any-affinity | | | | +--ro eag* uint32 | | | +--ro include-all-affinity Jethanandani, et al. Expires 5 May 2027 [Page 179] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | +--ro eag* uint32 | | | +--ro flags | | | | +--ro flags? binary | | | +--ro exclude-srlg | | | | +--ro srlg* uint32 | | | +--ro exclude-minimum-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth- ieee-float32 | | | +--ro exclude-maximum-delay | | | | +--ro delay? uint32 | | | +--ro exclude-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-all-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro fa-unsupported-tlvs | | | +--ro protocol-id? | | | | bgp-ls-topo-t:protoc ol | | | +--ro type* | | | uint16 | | +--ro isis-area-identifiers | | | +--ro area-address* | | | ietf-isis-t:area-address | | +--ro srv6-capabilities-flags | | +--ro flags? binary | +--ro isis-node* (system-id psn-id as) | +--ro system-id ietf-isis-t:system-id | +--ro psn-id uint8 | +--ro as inet:as-number | +--ro node-attributes | +--ro node-attribute* (type) | +--ro type | | identityref | +--ro local-ipv4-router-ids | | +--ro router-id* ietf-rt-t:router-id | +--ro local-ipv6-router-ids | | +--ro router-id* inet:ipv6-address | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro multi-topology-ids Jethanandani, et al. Expires 5 May 2027 [Page 180] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro multi-topology-id* uint16 | +--ro node-flag-bits | | +--ro flags? | | bgp-ls-topo-t:node-flag-bits | +--ro opaque-node-attribute | | +--ro opaque-attrs? yang:hex-string | +--ro node-name | | +--ro name? string | +--ro sr-capabilities | | +--ro srgb* (start-label) | | | +--ro start-label | | | | ietf-rt-t:mpls-label | | | +--ro range-size? uint32 | | +--ro isis-flags? binary | +--ro sr-local-block | | +--ro srlb* (start-label) | | +--ro start-label | | | ietf-rt-t:mpls-label | | +--ro range-size? uint32 | +--ro sr-algorithm | | +--ro algorithm* uint8 | +--ro node-msd | | +--ro msd* (msd-type) | | +--ro msd-type uint8 | | +--ro msd-value? uint8 | +--ro fads | | +--ro fad* (algorithm) | | +--ro algorithm uint8 | | +--ro metric-type? uint8 | | +--ro calc-type? uint8 | | +--ro priority? uint8 | | +--ro node-fad-attributes | | +--ro node-fad-attribute* (type) | | +--ro type | | | identityref | | +--ro exclude-any-affinity | | | +--ro eag* uint32 | | +--ro include-any-affinity | | | +--ro eag* uint32 | | +--ro include-all-affinity | | | +--ro eag* uint32 | | +--ro flags | | | +--ro flags? binary | | +--ro exclude-srlg | | | +--ro srlg* uint32 | | +--ro exclude-minimum-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth- Jethanandani, et al. Expires 5 May 2027 [Page 181] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 ieee-float32 | | +--ro exclude-maximum-delay | | | +--ro delay? uint32 | | +--ro exclude-any-reverse-affin ity | | | +--ro eag* uint32 | | +--ro include-any-reverse-affin ity | | | +--ro eag* uint32 | | +--ro include-all-reverse-affin ity | | | +--ro eag* uint32 | | +--ro fa-unsupported-tlvs | | +--ro protocol-id? | | | bgp-ls-topo-t:protoc ol | | +--ro type* | | uint16 | +--ro isis-area-identifiers | | +--ro area-address* | | ietf-isis-t:area-address | +--ro srv6-capabilities-flags | +--ro flags? binary +--ro links | +--ro ospf-link* | | (area-id as local-router-id local-dr-identif ier remote-router-id remote-dr-identifier local-id remote-id local-ipv4 -address remote-ipv4-address multi-topology-id) | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro as inet:as-number | | +--ro local-router-id | | | ietf-rt-t:router-id | | +--ro remote-router-id | | | ietf-rt-t:router-id | | +--ro local-id uint32 | | +--ro remote-id uint32 | | +--ro local-ipv4-address inet:ipv4-address | | +--ro remote-ipv4-address inet:ipv4-address | | +--ro multi-topology-id uint16 | | +--ro local-dr-identifier inet:ipv4-address | | +--ro remote-dr-identifier inet:ipv4-address | | +--ro link-attributes | | +--ro link-attribute* (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 182] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro unidirectional-link-delay | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link-delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variation | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-utilized-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro link-local-remote-identifiers | | | +--ro local-identifier? uint32 | | | +--ro remote-identifier? uint32 | | +--ro link-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro local-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro remote-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro remote-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro mpls-protocol-mask | | | +--ro mask? uint8 | | +--ro igp-metric | | | +--ro metric? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 183] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro srlgs | | | +--ro srlg* uint32 | | +--ro opaque-link-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro link-name | | | +--ro name? string | | +--ro srv6-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro srv6-lan-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | | +--ro neighbor-id? union | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth-ieee-floa t32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) Jethanandani, et al. Expires 5 May 2027 [Page 184] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | | +--ro neighbor-id? union | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm binary | | | +--ro udabm binary | | | +--ro asla-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link- delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee Jethanandani, et al. Expires 5 May 2027 [Page 185] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 e-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro l2-bundle-members | | +--ro l2-bundle-member* | | (member-descriptor) | | +--ro member-descriptor | | | uint32 | | +--ro bundle-member-attribute* | | (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 | | +--ro unidirectional-link-delay | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link- delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variati on | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-utilized-bw Jethanandani, et al. Expires 5 May 2027 [Page 186] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* | | | (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth- ieee-float32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary Jethanandani, et al. Expires 5 May 2027 [Page 187] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro weight? uint8 | | | +--ro neighbor-id? union | | +--ro aslas | | +--ro asla* (sabm udabm) | | +--ro sabm | | | binary | | +--ro udabm | | | binary | | +--ro asla-attribute* | | (type) | | +--ro type | | | identityref | | +--ro srlgs | | | +--ro srlg* uint32 | | +--ro te-default-metric | | | +--ro metric? | | | uint32 | | +--ro unidirectional-link -delay | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro min-max-unidirectio nal-link-delay | | | +--ro min | | | | +--ro delay? | | | | uint32 | | | +--ro max | | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-dela y-variation | | | +--ro delay? | | | uint32 | | +--ro unidirectional-link -loss | | | +--ro link-loss? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-resi dual-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 Jethanandani, et al. Expires 5 May 2027 [Page 188] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro unidirectional-avai lable-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro unidirectional-util ized-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro extended-admin-grou p | | | +--ro eag* uint32 | | +--ro unknowns | | +--ro unknown* | | (type) | | +--ro type | | | uint16 | | +--ro value? | | yang:hex-st ring | +--ro ospfv3-link* | | (area-id as local-router-id local-dr-identif ier remote-router-id remote-dr-identifier local-id remote-id local-ipv4 -address remote-ipv4-address local-ipv6-address remote-ipv6-address mul ti-topology-id) | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro as inet:as-number | | +--ro local-router-id | | | ietf-rt-t:router-id | | +--ro remote-router-id | | | ietf-rt-t:router-id | | +--ro local-id uint32 | | +--ro remote-id uint32 | | +--ro local-ipv4-address inet:ipv4-address | | +--ro remote-ipv4-address inet:ipv4-address | | +--ro multi-topology-id uint16 | | +--ro local-dr-identifier uint32 | | +--ro remote-dr-identifier uint32 | | +--ro local-ipv6-address inet:ipv6-address | | +--ro remote-ipv6-address inet:ipv6-address | | +--ro link-attributes | | +--ro link-attribute* (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 189] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro unidirectional-link-delay | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link-delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variation | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-utilized-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro link-local-remote-identifiers | | | +--ro local-identifier? uint32 | | | +--ro remote-identifier? uint32 | | +--ro link-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro local-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro remote-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro remote-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro mpls-protocol-mask | | | +--ro mask? uint8 | | +--ro igp-metric | | | +--ro metric? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 190] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro srlgs | | | +--ro srlg* uint32 | | +--ro opaque-link-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro link-name | | | +--ro name? string | | +--ro srv6-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro srv6-lan-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | | +--ro neighbor-id? union | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth-ieee-floa t32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) Jethanandani, et al. Expires 5 May 2027 [Page 191] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | | +--ro neighbor-id? union | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm binary | | | +--ro udabm binary | | | +--ro asla-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link- delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee Jethanandani, et al. Expires 5 May 2027 [Page 192] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 e-float32 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro l2-bundle-members | | +--ro l2-bundle-member* | | (member-descriptor) | | +--ro member-descriptor | | | uint32 | | +--ro bundle-member-attribute* | | (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 | | +--ro unidirectional-link-delay | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link- delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variati on | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-utilized-bw Jethanandani, et al. Expires 5 May 2027 [Page 193] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* | | | (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth- ieee-float32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary Jethanandani, et al. Expires 5 May 2027 [Page 194] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro weight? uint8 | | | +--ro neighbor-id? union | | +--ro aslas | | +--ro asla* (sabm udabm) | | +--ro sabm | | | binary | | +--ro udabm | | | binary | | +--ro asla-attribute* | | (type) | | +--ro type | | | identityref | | +--ro srlgs | | | +--ro srlg* uint32 | | +--ro te-default-metric | | | +--ro metric? | | | uint32 | | +--ro unidirectional-link -delay | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro min-max-unidirectio nal-link-delay | | | +--ro min | | | | +--ro delay? | | | | uint32 | | | +--ro max | | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-dela y-variation | | | +--ro delay? | | | uint32 | | +--ro unidirectional-link -loss | | | +--ro link-loss? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-resi dual-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 Jethanandani, et al. Expires 5 May 2027 [Page 195] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro unidirectional-avai lable-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro unidirectional-util ized-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro extended-admin-grou p | | | +--ro eag* uint32 | | +--ro unknowns | | +--ro unknown* | | (type) | | +--ro type | | | uint16 | | +--ro value? | | yang:hex-st ring | +--ro isis-link* | | (local-system-id local-psn-id local-as remot e-system-id remote-psn-id remote-as local-id remote-id local-ipv4-addre ss remote-ipv4-address local-ipv6-address remote-ipv6-address multi-top ology-id) | | +--ro local-system-id | | | ietf-isis-t:system-id | | +--ro local-psn-id uint8 | | +--ro local-as inet:as-number | | +--ro remote-system-id | | | ietf-isis-t:system-id | | +--ro remote-psn-id uint8 | | +--ro remote-as inet:as-number | | +--ro local-id uint32 | | +--ro remote-id uint32 | | +--ro local-ipv4-address inet:ipv4-address | | +--ro remote-ipv4-address inet:ipv4-address | | +--ro local-ipv6-address inet:ipv6-address | | +--ro remote-ipv6-address inet:ipv6-address | | +--ro multi-topology-id uint16 | | +--ro link-attributes | | +--ro link-attribute* (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 | | +--ro unidirectional-link-delay Jethanandani, et al. Expires 5 May 2027 [Page 196] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link-delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variation | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unidirectional-utilized-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? yang:hex-string | | +--ro link-local-remote-identifiers | | | +--ro local-identifier? uint32 | | | +--ro remote-identifier? uint32 | | +--ro link-msd | | | +--ro msd* (msd-type) | | | +--ro msd-type uint8 | | | +--ro msd-value? uint8 | | +--ro local-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro local-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro remote-ipv4-router-ids | | | +--ro router-id* ietf-rt-t:router-id | | +--ro remote-ipv6-router-ids | | | +--ro router-id* inet:ipv6-address | | +--ro mpls-protocol-mask | | | +--ro mask? uint8 | | +--ro igp-metric | | | +--ro metric? uint32 | | +--ro srlgs Jethanandani, et al. Expires 5 May 2027 [Page 197] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro srlg* uint32 | | +--ro opaque-link-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro link-name | | | +--ro name? string | | +--ro srv6-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro srv6-lan-end-x-sids | | | +--ro srv6-end-x-sid* (sid) | | | +--ro sid | | | | inet:ipv6-address | | | +--ro weight? uint8 | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | | +--ro neighbor-id? union | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-ieee-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth-ieee-floa t32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index uint32 Jethanandani, et al. Expires 5 May 2027 [Page 198] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro weight? uint8 | | | +--ro neighbor-id? union | | +--ro aslas | | | +--ro asla* (sabm udabm) | | | +--ro sabm binary | | | +--ro udabm binary | | | +--ro asla-attribute* (type) | | | +--ro type | | | | identityref | | | +--ro srlgs | | | | +--ro srlg* uint32 | | | +--ro te-default-metric | | | | +--ro metric? uint32 | | | +--ro unidirectional-link-delay | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro min-max-unidirectional-link- delay | | | | +--ro min | | | | | +--ro delay? uint32 | | | | +--ro max | | | | | +--ro delay? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-delay-variati on | | | | +--ro delay? uint32 | | | +--ro unidirectional-link-loss | | | | +--ro link-loss? uint32 | | | | +--ro anomaly? boolean | | | +--ro unidirectional-residual-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro unidirectional-available-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 Jethanandani, et al. Expires 5 May 2027 [Page 199] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro unidirectional-utilized-bw | | | | +--ro bw? | | | | ietf-rt-t:bandwidth-iee e-float32 | | | +--ro extended-admin-group | | | | +--ro eag* uint32 | | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro l2-bundle-members | | +--ro l2-bundle-member* | | (member-descriptor) | | +--ro member-descriptor | | | uint32 | | +--ro bundle-member-attribute* | | (type) | | +--ro type | | | identityref | | +--ro te-default-metric | | | +--ro metric? uint32 | | +--ro unidirectional-link-delay | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro min-max-unidirectional-link- delay | | | +--ro min | | | | +--ro delay? uint32 | | | +--ro max | | | | +--ro delay? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-delay-variati on | | | +--ro delay? uint32 | | +--ro unidirectional-link-loss | | | +--ro link-loss? uint32 | | | +--ro anomaly? boolean | | +--ro unidirectional-residual-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-available-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unidirectional-utilized-bw | | | +--ro bw? Jethanandani, et al. Expires 5 May 2027 [Page 200] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro extended-admin-group | | | +--ro eag* uint32 | | +--ro unknowns | | | +--ro unknown* (type) | | | +--ro type uint16 | | | +--ro value? | | | yang:hex-string | | +--ro maximum-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro maximum-reservable-link-bw | | | +--ro bw? | | | ietf-rt-t:bandwidth-iee e-float32 | | +--ro unreserved-bws | | | +--ro unreserved-bw* | | | (priority) | | | +--ro priority uint8 | | | +--ro bandwidth? | | | ietf-rt-t:bandwidth- ieee-float32 | | +--ro link-protection-type | | | +--ro type? uint16 | | +--ro adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary | | | +--ro weight? uint8 | | +--ro lan-adjacency-sids | | | +--ro adjacency-sid* | | | (label-index format) | | | +--ro label-index | | | | uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-fo rmat | | | +--ro flags? | | | | binary | | | +--ro weight? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 201] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro neighbor-id? union | | +--ro aslas | | +--ro asla* (sabm udabm) | | +--ro sabm | | | binary | | +--ro udabm | | | binary | | +--ro asla-attribute* | | (type) | | +--ro type | | | identityref | | +--ro srlgs | | | +--ro srlg* uint32 | | +--ro te-default-metric | | | +--ro metric? | | | uint32 | | +--ro unidirectional-link -delay | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro min-max-unidirectio nal-link-delay | | | +--ro min | | | | +--ro delay? | | | | uint32 | | | +--ro max | | | | +--ro delay? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-dela y-variation | | | +--ro delay? | | | uint32 | | +--ro unidirectional-link -loss | | | +--ro link-loss? | | | | uint32 | | | +--ro anomaly? | | | boolean | | +--ro unidirectional-resi dual-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro unidirectional-avai Jethanandani, et al. Expires 5 May 2027 [Page 202] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 lable-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro unidirectional-util ized-bw | | | +--ro bw? | | | ietf-rt-t:band width-ieee-float32 | | +--ro extended-admin-grou p | | | +--ro eag* uint32 | | +--ro unknowns | | +--ro unknown* | | (type) | | +--ro type | | | uint16 | | +--ro value? | | yang:hex-st ring | +--ro bgp-link* | (local-as local-router-id remote-as remote-r outer-id local-id remote-id local-ipv4-address remote-ipv4-address loca l-ipv6-address remote-ipv6-address multi-topology-id) | +--ro local-as inet:as-number | +--ro local-router-id | | ietf-rt-t:router-id | +--ro remote-as inet:as-number | +--ro remote-router-id | | ietf-rt-t:router-id | +--ro local-id uint32 | +--ro remote-id uint32 | +--ro local-ipv4-address inet:ipv4-address | +--ro remote-ipv4-address inet:ipv4-address | +--ro local-ipv6-address inet:ipv6-address | +--ro remote-ipv6-address inet:ipv6-address | +--ro multi-topology-id uint16 | +--ro link-attributes | +--ro link-attribute* (type) | +--ro type identityref | +--ro bgp-peer-sids | +--ro bgp-peer-sid* | (label-index format) | +--ro label-index uint32 | +--ro format | | bgp-ls-topo-t:sid-format | +--ro flags? binary | +--ro weight? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 203] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 +--ro prefixes | +--ro ospf-prefix* | | (is-as-scoped area-id as router-id dr-identi fier multi-topology-id route-type prefix) | | +--ro is-as-scoped boolean | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro as inet:as-number | | +--ro router-id ietf-rt-t:router-id | | +--ro route-type | | | bgp-ls-topo-t:ospf-route-type | | +--ro multi-topology-id uint16 | | +--ro dr-identifier inet:ipv4-address | | +--ro prefix inet:ipv4-prefix | | +--ro prefix-attributes | | +--ro prefix-attribute* (type) | | +--ro type | | | identityref | | +--ro flexible-algorithm-prefix-metric | | | +--ro fa-prefix-metric* (algorithm) | | | +--ro metric? uint32 | | | +--ro algorithm uint8 | | | +--ro flags? binary | | +--ro igp-flags | | | +--ro flags? | | | bgp-ls-topo-t:igp-flags-bits | | +--ro igp-route-tags | | | +--ro tag* uint32 | | +--ro extended-igp-route-tags | | | +--ro tag* uint64 | | +--ro prefix-metric | | | +--ro metric? uint32 | | +--ro ospf-forwarding-address | | | +--ro forw-address? inet:ip-address | | +--ro opaque-prefix-attribute | | | +--ro opaque-attrs? yang:hex-string | | +--ro prefix-sids | | | +--ro prefix-sid* (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro prefix-range | | | +--ro index? uint32 | | | +--ro range-size? uint16 | | | +--ro flags? binary | | | +--ro algorithm? uint8 Jethanandani, et al. Expires 5 May 2027 [Page 204] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro sid-flags? binary | | +--ro srv6-locator | | | +--ro metric? uint32 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro prefix-attribute-flags | | | +--ro flags? binary | | +--ro prefix-source-router-id | | | +--ro source-router-id? | | | inet:ip-address | | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro ospfv3-prefix* | | (is-as-scoped area-id as router-id dr-identi fier multi-topology-id route-type prefix) | | +--ro is-as-scoped boolean | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro as inet:as-number | | +--ro router-id ietf-rt-t:router-id | | +--ro route-type | | | bgp-ls-topo-t:ospf-route-type | | +--ro multi-topology-id uint16 | | +--ro dr-identifier uint32 | | +--ro prefix inet:ip-prefix | | +--ro prefix-attributes | | +--ro prefix-attribute* (type) | | +--ro type | | | identityref | | +--ro flexible-algorithm-prefix-metric | | | +--ro fa-prefix-metric* (algorithm) | | | +--ro metric? uint32 | | | +--ro algorithm uint8 | | | +--ro flags? binary | | +--ro igp-flags | | | +--ro flags? | | | bgp-ls-topo-t:igp-flags-bits | | +--ro igp-route-tags | | | +--ro tag* uint32 | | +--ro extended-igp-route-tags | | | +--ro tag* uint64 | | +--ro prefix-metric | | | +--ro metric? uint32 | | +--ro ospf-forwarding-address | | | +--ro forw-address? inet:ip-address | | +--ro opaque-prefix-attribute Jethanandani, et al. Expires 5 May 2027 [Page 205] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro opaque-attrs? yang:hex-string | | +--ro prefix-sids | | | +--ro prefix-sid* (label-index format) | | | +--ro label-index uint32 | | | +--ro format | | | | bgp-ls-topo-t:sid-format | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro prefix-range | | | +--ro index? uint32 | | | +--ro range-size? uint16 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | | +--ro sid-flags? binary | | +--ro srv6-locator | | | +--ro metric? uint32 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro prefix-attribute-flags | | | +--ro flags? binary | | +--ro prefix-source-router-id | | | +--ro source-router-id? | | | inet:ip-address | | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro isis-prefix* | (system-id psn-id as multi-topology-id prefi x) | +--ro system-id | | ietf-isis-t:system-id | +--ro psn-id uint8 | +--ro as inet:as-number | +--ro multi-topology-id uint16 | +--ro prefix inet:ip-prefix | +--ro prefix-attributes | +--ro prefix-attribute* (type) | +--ro type | | identityref | +--ro flexible-algorithm-prefix-metric | | +--ro fa-prefix-metric* (algorithm) | | +--ro metric? uint32 | | +--ro algorithm uint8 | | +--ro flags? binary | +--ro igp-flags | | +--ro flags? | | bgp-ls-topo-t:igp-flags-bits Jethanandani, et al. Expires 5 May 2027 [Page 206] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--ro igp-route-tags | | +--ro tag* uint32 | +--ro extended-igp-route-tags | | +--ro tag* uint64 | +--ro prefix-metric | | +--ro metric? uint32 | +--ro ospf-forwarding-address | | +--ro forw-address? inet:ip-address | +--ro opaque-prefix-attribute | | +--ro opaque-attrs? yang:hex-string | +--ro prefix-sids | | +--ro prefix-sid* (label-index format) | | +--ro label-index uint32 | | +--ro format | | | bgp-ls-topo-t:sid-format | | +--ro flags? binary | | +--ro algorithm? uint8 | +--ro prefix-range | | +--ro index? uint32 | | +--ro range-size? uint16 | | +--ro flags? binary | | +--ro algorithm? uint8 | | +--ro sid-flags? binary | +--ro srv6-locator | | +--ro metric? uint32 | | +--ro flags? binary | | +--ro algorithm? uint8 | +--ro prefix-attribute-flags | | +--ro flags? binary | +--ro prefix-source-router-id | | +--ro source-router-id? | | inet:ip-address | +--ro unknowns | +--ro unknown* (type) | +--ro type uint16 | +--ro value? yang:hex-string +--ro srv6-sids | +--ro ospfv3-srv6-sid* | | (is-as-scoped area-id router-id dr-identifie r as sid multi-topology-id) | | +--ro is-as-scoped boolean | | +--ro area-id | | | ietf-ospf-t:area-id-type | | +--ro router-id | | | ietf-rt-t:router-id | | +--ro dr-identifier uint32 | | +--ro as inet:as-number | | +--ro sid inet:ipv6-prefix Jethanandani, et al. Expires 5 May 2027 [Page 207] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro multi-topology-id uint16 | | +--ro srv6-sid-attributes | | +--ro srv6-sid-attribute* (type) | | +--ro type | | | identityref | | +--ro srv6-endpoint-behavior | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro srv6-sid-structure | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro isis-srv6-sid* | | (system-id psn-id as sid multi-topology-id) | | +--ro system-id | | | ietf-isis-t:system-id | | +--ro psn-id uint8 | | +--ro as inet:as-number | | +--ro sid inet:ipv6-prefix | | +--ro multi-topology-id uint16 | | +--ro srv6-sid-attributes | | +--ro srv6-sid-attribute* (type) | | +--ro type | | | identityref | | +--ro srv6-endpoint-behavior | | | +--ro endpoint-behavior? uint8 | | | +--ro flags? binary | | | +--ro algorithm? uint8 | | +--ro srv6-sid-structure | | | +--ro locator-block-len? uint8 | | | +--ro locator-node-len? uint8 | | | +--ro function-len? uint8 | | | +--ro arg-len? uint8 | | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro bgp-srv6-sid* | (router-id as sid multi-topology-id) | +--ro router-id | | ietf-rt-t:router-id | +--ro as inet:as-number Jethanandani, et al. Expires 5 May 2027 [Page 208] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--ro sid inet:ipv6-prefix | +--ro multi-topology-id uint16 | +--ro srv6-sid-attributes | +--ro srv6-sid-attribute* (type) | +--ro type | | identityref | +--ro srv6-endpoint-behavior | | +--ro endpoint-behavior? uint8 | | +--ro flags? binary | | +--ro algorithm? uint8 | +--ro srv6-sid-structure | | +--ro locator-block-len? uint8 | | +--ro locator-node-len? uint8 | | +--ro function-len? uint8 | | +--ro arg-len? uint8 | +--ro unknowns | | +--ro unknown* (type) | | +--ro type uint16 | | +--ro value? yang:hex-string | +--ro srv6-bgp-peer-node-sid | +--ro flags? binary | +--ro weight? uint8 | +--ro peer-as? inet:as-number | +--ro peer-bgp-id? | ietf-rt-t:router-id +--ro unknowns +--ro unknown* (nlri) +--ro nlri yang:hex-string +--ro attributes? yang:hex-string augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:neighbors /bgp:neighbor/bgp:afi-safis/bgp:afi-safi: +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean Jethanandani, et al. Expires 5 May 2027 [Page 209] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 +--rw metric? uint32 +--rw status? enumeration augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:neighbors /bgp:neighbor/bgp:statistics: +--ro updates-sent? yang:zero-based-counter32 +--ro updates-received? yang:zero-based-counter32 +--ro error-updates-received? yang:zero-based-counter32 +--ro computations? yang:zero-based-counter32 +--ro triggering-events? yang:zero-based-counter32 +---x clear {ibt:clear-statistics}? +---w input | +---w clear-at? yang:date-and-time +--ro output +--ro clear-finished-at? yang:date-and-time augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:peer-groups /bgp:peer-group/bgp:afi-safis/bgp:afi-safi: +--rw link-state! | +--rw prefix-limit | | +--rw max-prefixes? uint32 | | +--rw warning-threshold-pct? rt-types:percentage | | +--rw teardown? boolean | | +--rw idle-time? union | | +--ro prefix-limit-exceeded? boolean | +--rw max-rate? uint32 | +--rw max-number? uint32 +--rw link-state-spf +--rw prefix-limit | +--rw max-prefixes? uint32 | +--rw warning-threshold-pct? rt-types:percentage | +--rw teardown? boolean | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw metric? uint32 +--rw status? enumeration augment /rt:routing/rt:control-plane-protocols /rt:control-plane-protocol/bgp:bgp/bgp:rib/bgp:afi-safis /bgp:afi-safi: +--ro link-state +--ro loc-rib | +--ro routes | +--ro route* (nlri origin path-id) | +--ro nlri yang:hex-string | +--ro origin union | +--ro path-id uint32 | +--ro attr-index? leafref | +--ro community-index? leafref Jethanandani, et al. Expires 5 May 2027 [Page 210] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--ro ext-community-index? leafref | +--ro large-community-index? leafref | +--ro nlri-type? | | bgp-ls-topo-t:nlri-type | +--ro protocol-id? | | bgp-ls-topo-t:protocol | +--ro identifier? uint64 | +--ro route-distinguisher? | | ietf-rt-t:route-distinguisher | +--ro local-node-descriptors | | +--ro as? inet:as-number | | x--ro bgp-ls-identifier? uint32 | | +--ro area-id? | | | ietf-ospf-t:area-id-type | | +--ro (igp-router-id)? | | | +--:(isis) | | | | +--ro system-id? | | | | | ietf-isis-t:system-id | | | | +--ro psn-id? uint8 | | | +--:(ospf) | | | | +--ro router-id? ietf-rt-t:router-id | | | | +--ro dr-identifier? inet:ipv4-address | | | | +--ro dr-interface-id? uint32 | | | +--:(direct-or-static) | | | +--ro router-address? inet:ip-address | | +--ro bgp-router-id? yang:dotted-quad | | +--ro member-as? inet:as-number | +--ro remote-node-descriptors | | +--ro as? inet:as-number | | x--ro bgp-ls-identifier? uint32 | | +--ro area-id? | | | ietf-ospf-t:area-id-type | | +--ro (igp-router-id)? | | | +--:(isis) | | | | +--ro system-id? | | | | | ietf-isis-t:system-id | | | | +--ro psn-id? uint8 | | | +--:(ospf) | | | | +--ro router-id? ietf-rt-t:router-id | | | | +--ro dr-identifier? inet:ipv4-address | | | | +--ro dr-interface-id? uint32 | | | +--:(direct-or-static) | | | +--ro router-address? inet:ip-address | | +--ro bgp-router-id? yang:dotted-quad | | +--ro member-as? inet:as-number | +--ro link-descriptors | | +--ro link-local-identifier? uint32 | | +--ro link-remote-identifier? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 211] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro ipv4-interface-address? inet:ipv4-address | | +--ro ipv4-neighbor-address? inet:ipv4-address | | +--ro ipv6-interface-address? inet:ipv6-address | | +--ro ipv6-neighbor-address? inet:ipv6-address | | +--ro multi-topology-id? uint16 | +--ro prefix-descriptors | | +--ro multi-topology-id? uint16 | | +--ro ospf-route-type? | | | bgp-ls-topo-t:ospf-route-type | | +--ro ip-reachability-information? | | inet:ip-prefix | +--ro ls-attribute? yang:hex-string | +--ro sequence-number? uint64 | +--ro last-modified? yang:timeticks | +--ro eligible-route? boolean | +--ro ineligible-reason? identityref | +--ro unknown-attributes | | +--ro unknown-attribute* (attr-type) | | +--ro optional? boolean | | +--ro transitive? boolean | | +--ro partial? boolean | | +--ro extended? boolean | | +--ro attr-type uint8 | | +--ro attr-len? uint16 | | +--ro attr-value? binary | +--ro reject-reason? union +--ro neighbors +--ro neighbor* (neighbor-address) +--ro neighbor-address inet:ip-address +--ro adj-rib-in-pre | +--ro routes | | +--ro route* (nlri path-id) | | +--ro nlri | | | yang:hex-string | | +--ro path-id uint32 | | +--ro attr-index? leafref | | +--ro community-index? leafref | | +--ro ext-community-index? leafref | | +--ro large-community-index? leafref | | +--ro nlri-type? | | | bgp-ls-topo-t:nlri-type | | +--ro protocol-id? | | | bgp-ls-topo-t:protocol | | +--ro identifier? uint64 | | +--ro route-distinguisher? | | | ietf-rt-t:route-distinguisher | | +--ro local-node-descriptors | | | +--ro as? Jethanandani, et al. Expires 5 May 2027 [Page 212] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro remote-node-descriptors | | | +--ro as? | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro link-descriptors | | | +--ro link-local-identifier? uint32 Jethanandani, et al. Expires 5 May 2027 [Page 213] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro link-remote-identifier? uint32 | | | +--ro ipv4-interface-address? | | | | inet:ipv4-address | | | +--ro ipv4-neighbor-address? | | | | inet:ipv4-address | | | +--ro ipv6-interface-address? | | | | inet:ipv6-address | | | +--ro ipv6-neighbor-address? | | | | inet:ipv6-address | | | +--ro multi-topology-id? uint16 | | +--ro prefix-descriptors | | | +--ro multi-topology-id? uint16 | | | +--ro ospf-route-type? | | | | bgp-ls-topo-t:ospf-route-type | | | +--ro ip-reachability-information? | | | inet:ip-prefix | | +--ro ls-attribute? | | | yang:hex-string | | +--ro sequence-number? uint64 | | +--ro last-modified? yang:timeticks | | +--ro eligible-route? boolean | | +--ro ineligible-reason? identityref | | +--ro unknown-attributes | | | +--ro unknown-attribute* (attr-type) | | | +--ro optional? boolean | | | +--ro transitive? boolean | | | +--ro partial? boolean | | | +--ro extended? boolean | | | +--ro attr-type uint8 | | | +--ro attr-len? uint16 | | | +--ro attr-value? binary | | +--ro reject-reason? union | +--ro clear-routes {ibt:clear-routes}? | +---x clear | +---w input | | +---w clear-at? yang:date-and-time | +--ro output | +--ro clear-finished-at? | yang:date-and-time +--ro adj-rib-in-post | +--ro routes | | +--ro route* (nlri path-id) | | +--ro nlri | | | yang:hex-string | | +--ro path-id uint32 | | +--ro attr-index? leafref | | +--ro community-index? leafref | | +--ro ext-community-index? leafref Jethanandani, et al. Expires 5 May 2027 [Page 214] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | +--ro large-community-index? leafref | | +--ro nlri-type? | | | bgp-ls-topo-t:nlri-type | | +--ro protocol-id? | | | bgp-ls-topo-t:protocol | | +--ro identifier? uint64 | | +--ro route-distinguisher? | | | ietf-rt-t:route-distinguisher | | +--ro local-node-descriptors | | | +--ro as? | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro remote-node-descriptors | | | +--ro as? | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address Jethanandani, et al. Expires 5 May 2027 [Page 215] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro link-descriptors | | | +--ro link-local-identifier? uint32 | | | +--ro link-remote-identifier? uint32 | | | +--ro ipv4-interface-address? | | | | inet:ipv4-address | | | +--ro ipv4-neighbor-address? | | | | inet:ipv4-address | | | +--ro ipv6-interface-address? | | | | inet:ipv6-address | | | +--ro ipv6-neighbor-address? | | | | inet:ipv6-address | | | +--ro multi-topology-id? uint16 | | +--ro prefix-descriptors | | | +--ro multi-topology-id? uint16 | | | +--ro ospf-route-type? | | | | bgp-ls-topo-t:ospf-route-type | | | +--ro ip-reachability-information? | | | inet:ip-prefix | | +--ro ls-attribute? | | | yang:hex-string | | +--ro sequence-number? uint64 | | +--ro last-modified? yang:timeticks | | +--ro eligible-route? boolean | | +--ro ineligible-reason? identityref | | +--ro unknown-attributes | | | +--ro unknown-attribute* (attr-type) | | | +--ro optional? boolean | | | +--ro transitive? boolean | | | +--ro partial? boolean | | | +--ro extended? boolean | | | +--ro attr-type uint8 | | | +--ro attr-len? uint16 | | | +--ro attr-value? binary | | +--ro reject-reason? union | | +--ro best-path? boolean | +--ro clear-routes {ibt:clear-routes}? | +---x clear | +---w input | | +---w clear-at? yang:date-and-time | +--ro output Jethanandani, et al. Expires 5 May 2027 [Page 216] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | +--ro clear-finished-at? | yang:date-and-time +--ro adj-rib-out-pre | +--ro routes | | +--ro route* (nlri path-id) | | +--ro nlri | | | yang:hex-string | | +--ro path-id uint32 | | +--ro attr-index? leafref | | +--ro community-index? leafref | | +--ro ext-community-index? leafref | | +--ro large-community-index? leafref | | +--ro nlri-type? | | | bgp-ls-topo-t:nlri-type | | +--ro protocol-id? | | | bgp-ls-topo-t:protocol | | +--ro identifier? uint64 | | +--ro route-distinguisher? | | | ietf-rt-t:route-distinguisher | | +--ro local-node-descriptors | | | +--ro as? | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro remote-node-descriptors | | | +--ro as? | | | | inet:as-number | | | x--ro bgp-ls-identifier? uint32 | | | +--ro area-id? Jethanandani, et al. Expires 5 May 2027 [Page 217] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | | ietf-ospf-t:area-id-type | | | +--ro (igp-router-id)? | | | | +--:(isis) | | | | | +--ro system-id? | | | | | | ietf-isis-t:system-id | | | | | +--ro psn-id? uint8 | | | | +--:(ospf) | | | | | +--ro router-id? | | | | | | ietf-rt-t:router-id | | | | | +--ro dr-identifier? | | | | | | inet:ipv4-address | | | | | +--ro dr-interface-id? uint32 | | | | +--:(direct-or-static) | | | | +--ro router-address? | | | | inet:ip-address | | | +--ro bgp-router-id? | | | | yang:dotted-quad | | | +--ro member-as? | | | inet:as-number | | +--ro link-descriptors | | | +--ro link-local-identifier? uint32 | | | +--ro link-remote-identifier? uint32 | | | +--ro ipv4-interface-address? | | | | inet:ipv4-address | | | +--ro ipv4-neighbor-address? | | | | inet:ipv4-address | | | +--ro ipv6-interface-address? | | | | inet:ipv6-address | | | +--ro ipv6-neighbor-address? | | | | inet:ipv6-address | | | +--ro multi-topology-id? uint16 | | +--ro prefix-descriptors | | | +--ro multi-topology-id? uint16 | | | +--ro ospf-route-type? | | | | bgp-ls-topo-t:ospf-route-type | | | +--ro ip-reachability-information? | | | inet:ip-prefix | | +--ro ls-attribute? | | | yang:hex-string | | +--ro sequence-number? uint64 | | +--ro last-modified? yang:timeticks | | +--ro eligible-route? boolean | | +--ro ineligible-reason? identityref | | +--ro unknown-attributes | | | +--ro unknown-attribute* (attr-type) | | | +--ro optional? boolean | | | +--ro transitive? boolean | | | +--ro partial? boolean Jethanandani, et al. Expires 5 May 2027 [Page 218] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | +--ro extended? boolean | | | +--ro attr-type uint8 | | | +--ro attr-len? uint16 | | | +--ro attr-value? binary | | +--ro reject-reason? union | +--ro clear-routes {ibt:clear-routes}? | +---x clear | +---w input | | +---w clear-at? yang:date-and-time | +--ro output | +--ro clear-finished-at? | yang:date-and-time +--ro adj-rib-out-post +--ro routes | +--ro route* (nlri path-id) | +--ro nlri | | yang:hex-string | +--ro path-id uint32 | +--ro attr-index? leafref | +--ro community-index? leafref | +--ro ext-community-index? leafref | +--ro large-community-index? leafref | +--ro nlri-type? | | bgp-ls-topo-t:nlri-type | +--ro protocol-id? | | bgp-ls-topo-t:protocol | +--ro identifier? uint64 | +--ro route-distinguisher? | | ietf-rt-t:route-distinguisher | +--ro local-node-descriptors | | +--ro as? | | | inet:as-number | | x--ro bgp-ls-identifier? uint32 | | +--ro area-id? | | | ietf-ospf-t:area-id-type | | +--ro (igp-router-id)? | | | +--:(isis) | | | | +--ro system-id? | | | | | ietf-isis-t:system-id | | | | +--ro psn-id? uint8 | | | +--:(ospf) | | | | +--ro router-id? | | | | | ietf-rt-t:router-id | | | | +--ro dr-identifier? | | | | | inet:ipv4-address | | | | +--ro dr-interface-id? uint32 | | | +--:(direct-or-static) | | | +--ro router-address? Jethanandani, et al. Expires 5 May 2027 [Page 219] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | | inet:ip-address | | +--ro bgp-router-id? | | | yang:dotted-quad | | +--ro member-as? | | inet:as-number | +--ro remote-node-descriptors | | +--ro as? | | | inet:as-number | | x--ro bgp-ls-identifier? uint32 | | +--ro area-id? | | | ietf-ospf-t:area-id-type | | +--ro (igp-router-id)? | | | +--:(isis) | | | | +--ro system-id? | | | | | ietf-isis-t:system-id | | | | +--ro psn-id? uint8 | | | +--:(ospf) | | | | +--ro router-id? | | | | | ietf-rt-t:router-id | | | | +--ro dr-identifier? | | | | | inet:ipv4-address | | | | +--ro dr-interface-id? uint32 | | | +--:(direct-or-static) | | | +--ro router-address? | | | inet:ip-address | | +--ro bgp-router-id? | | | yang:dotted-quad | | +--ro member-as? | | inet:as-number | +--ro link-descriptors | | +--ro link-local-identifier? uint32 | | +--ro link-remote-identifier? uint32 | | +--ro ipv4-interface-address? | | | inet:ipv4-address | | +--ro ipv4-neighbor-address? | | | inet:ipv4-address | | +--ro ipv6-interface-address? | | | inet:ipv6-address | | +--ro ipv6-neighbor-address? | | | inet:ipv6-address | | +--ro multi-topology-id? uint16 | +--ro prefix-descriptors | | +--ro multi-topology-id? uint16 | | +--ro ospf-route-type? | | | bgp-ls-topo-t:ospf-route-type | | +--ro ip-reachability-information? | | inet:ip-prefix | +--ro ls-attribute? Jethanandani, et al. Expires 5 May 2027 [Page 220] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 | | yang:hex-string | +--ro sequence-number? uint64 | +--ro last-modified? yang:timeticks | +--ro eligible-route? boolean | +--ro ineligible-reason? identityref | +--ro unknown-attributes | | +--ro unknown-attribute* (attr-type) | | +--ro optional? boolean | | +--ro transitive? boolean | | +--ro partial? boolean | | +--ro extended? boolean | | +--ro attr-type uint8 | | +--ro attr-len? uint16 | | +--ro attr-value? binary | +--ro reject-reason? union +--ro clear-routes {ibt:clear-routes}? +---x clear +---w input | +---w clear-at? yang:date-and-time +--ro output +--ro clear-finished-at? yang:date-and-time Figure 7: Complete tree diagram Appendix B. Examples The following examples illustrate the BGP-LS Link-State Database (LSDB) populated with NLRIs from different source protocols. The data shown represents the bgp-ls-topology container defined in ietf- bgp-lsdb, which is augmented into the link-state presence container by ietf-bgp-ls at the path /rt:routing/rt:control-plane-protocols/ rt:control-plane-protocol/bgp:bgp/bgp:global/ bgp:afi-safis/bgp:afi- safi/ietf-bgp-ls:link-state. XML encoding follows [RFC7950]. B.1. OSPFv2 Instance An OSPFv2 instance with one node (router-id 192.0.2.1), one link (192.0.2.1 to 192.0.2.2), and one prefix (203.0.113.0/24). Node and link attribute types are expressed as identityrefs from ietf-bgp-ls- topo-types. Jethanandani, et al. Expires 5 May 2027 [Page 221] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bgp:bgp example bgp-ls:bgp-ls default ospfv2 0 false 0.0.0.0 192.0.2.1 0.0.0.0 65001 t:bgp-ls-topo-attr-local-ipv4-routerid 192.0.2.1 0.0.0.0 65001 192.0.2.1 0.0.0.0 192.0.2.2 0.0.0.0 1 2 198.51.100.1 198.51.100.2 0 t:bgp-ls-topo-attr-igp-metric Jethanandani, et al. Expires 5 May 2027 [Page 222] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 10 false 0.0.0.0 65001 192.0.2.1 0.0.0.0 0 intra-area 203.0.113.0/24 t:bgp-ls-topo-attr-prefix-metric 10 Figure 8 B.2. OSPFv3 Instance An OSPFv3 instance with one node advertising an IPv6 router-id attribute, one link using 0.0.0.0 as the sentinel value for absent IPv4 link addresses (the link is IPv6-only), and one IPv6 prefix. Jethanandani, et al. Expires 5 May 2027 [Page 223] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bgp:bgp example bgp-ls:bgp-ls default ospfv3 0 false 0.0.0.0 192.0.2.1 0 65001 t:bgp-ls-topo-attr-local-ipv6-routerid 2001:db8::1 0.0.0.0 65001 192.0.2.1 0 192.0.2.2 0 1 2 Jethanandani, et al. Expires 5 May 2027 [Page 224] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 0.0.0.0 0.0.0.0 2001:db8::1 2001:db8::2 0 t:bgp-ls-topo-attr-igp-metric 10 false 0.0.0.0 65001 192.0.2.1 0 0 intra-area 2001:db8:1::/48 Figure 9 B.3. IS-IS Instance An IS-IS Level-1 instance with one node (system-id 0000.0000.0001), one link, and one prefix (10.1.0.0/24). IPv6 link addresses use :: as the sentinel value for absent IPv6 addresses (the link is IPv4-only). Jethanandani, et al. Expires 5 May 2027 [Page 225] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bgp:bgp example bgp-ls:bgp-ls default isis-l1 0 0000.0000.0001 0 65001 t:bgp-ls-topo-attr-local-ipv4-routerid 192.0.2.1 0000.0000.0001 0 65001 0000.0000.0002 0 65001 1 2 198.51.100.1 198.51.100.2 Jethanandani, et al. Expires 5 May 2027 [Page 226] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 :: :: 0 t:bgp-ls-topo-attr-igp-metric 10 0000.0000.0001 0 65001 0 10.1.0.0/24 Figure 10 B.4. BGP Instance A BGP instance with one BGP-LS link (AS 65001 router-id 192.0.2.1 to AS 65002 router-id 192.0.2.2). The link carries a BGP Peer Adjacency SID attribute (bgp-peer-sids) as defined in ietf-bgp-ls-topo-attr, demonstrating the new topology attribute submodule. The BGP protocol does not define node or prefix NLRIs in this model. Jethanandani, et al. Expires 5 May 2027 [Page 227] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 bgp:bgp example bgp-ls:bgp-ls default bgp 0 65001 192.0.2.1 65002 192.0.2.2 1 2 198.51.100.1 198.51.100.2 :: :: 0 t:bgp-ls-topo-attr-bgp-peer-adj-sid 100 label AA== 0 Jethanandani, et al. Expires 5 May 2027 [Page 228] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model November 2026 Figure 11 Acknowledgements The authors would like to thank Baalajee S and Thanigaivel Manoharan for their review and comments on the model and the document. Contributors Thanks to all of the contributors. Authors' Addresses Mahesh Jethanandani (editor) Arrcus, Inc Email: mjethanandani@gmail.com Keyur Patel Arrcus, Inc Email: keyur@arrcus.com Aravind Babu MahendraBabu Cisco, Inc India Email: aramahen@cisco.com Jethanandani, et al. Expires 5 May 2027 [Page 229]