LSVR M. Jethanandani, Ed. Internet-Draft K. Patel Intended status: Standards Track Arrcus, Inc Expires: 31 December 2026 A. MahendraBabu Cisco, Inc 29 June 2026 A YANG Model for BGP-LS, BGP-LS-VPN, and BGP-LS-SPF draft-ietf-lsvr-bgp-ls-yang-04 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 31 December 2026. 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 31 December 2026 [Page 1] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 . . . . . . . . . . . 22 4.3. BGP Link-State Topology Types YANG model . . . . . . . . 47 4.4. BGP Link-State Topology Attributes YANG model . . . . . . 67 4.5. BGP Link-State Topology OSPF YANG model . . . . . . . . . 116 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 123 6. Security Considerations . . . . . . . . . . . . . . . . . . . 123 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.1. Normative References . . . . . . . . . . . . . . . . . . 124 7.2. Informative References . . . . . . . . . . . . . . . . . 127 Appendix A. Complete Tree Diagram . . . . . . . . . . . . . . . 127 Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 195 B.1. OSPFv2 Instance . . . . . . . . . . . . . . . . . . . . . 195 B.2. OSPFv3 Instance . . . . . . . . . . . . . . . . . . . . . 197 B.3. IS-IS Instance . . . . . . . . . . . . . . . . . . . . . 199 B.4. BGP Instance . . . . . . . . . . . . . . . . . . . . . . 201 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 203 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 203 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. 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- Jethanandani, et al. Expires 31 December 2026 [Page 2] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 | +------------+--------------------------------------------+ | BGP-LS-SPF | BGP Link-State Shortest Path First | +------------+--------------------------------------------+ Jethanandani, et al. Expires 31 December 2026 [Page 3] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | 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 31 December 2026 [Page 4] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 31 December 2026 [Page 5] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 {bt: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 31 December 2026 [Page 6] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | +--rw idle-time? union | +--ro prefix-limit-exceeded? boolean +--rw metric? uint32 +--rw status? enumeration 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 module imports ietf-yang-types and ietf-inet-types [RFC9911], ietf-routing [RFC8349], and the BGP module from [I-D.ietf-idr-bgp-model]. file "ietf-bgp-ls@2026-06-29.yang" module ietf-bgp-ls { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-bgp-ls"; prefix bgp-ls; 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-bgp { prefix bgp; reference "I-D.ietf-idr-bgp-model: BGP YANG Model for Service Provider Jethanandani, et al. Expires 31 December 2026 [Page 7] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 Networks."; } import iana-bgp-types { prefix bt; 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."; } 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 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."; Jethanandani, et al. Expires 31 December 2026 [Page 8] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 revision 2026-06-29 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } // Identities. identity bgp-ls { base bt: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 bt:afi-safi-type; description "BGP Link-State VPN."; reference "RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP."; } identity bgp-ls-spf { base bt: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."; } Jethanandani, et al. Expires 31 December 2026 [Page 9] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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 Jethanandani, et al. Expires 31 December 2026 [Page 10] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 11] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 leaf status { type enumeration { enum reachable { description "The link is reachable in the current SPF topology."; } enum uncreachable { 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."; 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 Jethanandani, et al. Expires 31 December 2026 [Page 12] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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')" { description "Include this container for BGP Link-State SPF specific configuration"; } description "BGP Linkstate-SPF configuration options"; uses bgp:mp-all-afi-safi-common; } } 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; Jethanandani, et al. Expires 31 December 2026 [Page 13] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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 { type enumeration { enum reachable { description "The local node is reachable in the current SPF topology."; } enum unreacable { 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; Jethanandani, et al. Expires 31 December 2026 [Page 14] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } } 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 { Jethanandani, et al. Expires 31 December 2026 [Page 15] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 16] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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; 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 { Jethanandani, et al. Expires 31 December 2026 [Page 17] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } action clear { if-feature "bt: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."; } Jethanandani, et al. Expires 31 December 2026 [Page 18] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } } } 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"; } 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."; Jethanandani, et al. Expires 31 December 2026 [Page 19] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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; 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 Jethanandani, et al. Expires 31 December 2026 [Page 20] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 "bt: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:peer-groups" + Jethanandani, et al. Expires 31 December 2026 [Page 21] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "/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; } } 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. Jethanandani, et al. Expires 31 December 2026 [Page 22] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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. 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-06-29.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."; } Jethanandani, et al. Expires 31 December 2026 [Page 23] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 24] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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-06-29 { 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; Jethanandani, et al. Expires 31 December 2026 [Page 25] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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; } Jethanandani, et al. Expires 31 December 2026 [Page 26] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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'"; Jethanandani, et al. Expires 31 December 2026 [Page 27] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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, 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; Jethanandani, et al. Expires 31 December 2026 [Page 28] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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 { Jethanandani, et al. Expires 31 December 2026 [Page 29] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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, Jethanandani, et al. Expires 31 December 2026 [Page 30] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; 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 Jethanandani, et al. Expires 31 December 2026 [Page 31] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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."; Jethanandani, et al. Expires 31 December 2026 [Page 32] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 33] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 34] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 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 "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"; Jethanandani, et al. Expires 31 December 2026 [Page 35] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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"; } 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"; Jethanandani, et al. Expires 31 December 2026 [Page 36] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } description "Flags associated with the BGP peer SID"; } leaf weight { type uint8; description "Weight used for load balancing purposes"; } } } } } } } container prefixes { 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 Jethanandani, et al. Expires 31 December 2026 [Page 37] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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"; Jethanandani, et al. Expires 31 December 2026 [Page 38] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 39] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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."; Jethanandani, et al. Expires 31 December 2026 [Page 40] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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 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'"; Jethanandani, et al. Expires 31 December 2026 [Page 41] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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."; Jethanandani, et al. Expires 31 December 2026 [Page 42] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; 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 Jethanandani, et al. Expires 31 December 2026 [Page 43] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 44] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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; } 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."; Jethanandani, et al. Expires 31 December 2026 [Page 45] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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, Jethanandani, et al. Expires 31 December 2026 [Page 46] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } } } } } } } } 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. Jethanandani, et al. Expires 31 December 2026 [Page 47] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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-06-29.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: 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-06-29 { Jethanandani, et al. Expires 31 December 2026 [Page 48] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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"; } Jethanandani, et al. Expires 31 December 2026 [Page 49] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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"; Jethanandani, et al. Expires 31 December 2026 [Page 50] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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; 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 { Jethanandani, et al. Expires 31 December 2026 [Page 51] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 52] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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"; Jethanandani, et al. Expires 31 December 2026 [Page 53] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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"; Jethanandani, et al. Expires 31 December 2026 [Page 54] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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"; Jethanandani, et al. Expires 31 December 2026 [Page 55] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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 "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) Jethanandani, et al. Expires 31 December 2026 [Page 56] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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 Jethanandani, et al. Expires 31 December 2026 [Page 57] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 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 Jethanandani, et al. Expires 31 December 2026 [Page 58] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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 Jethanandani, et al. Expires 31 December 2026 [Page 59] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 60] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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"; Jethanandani, et al. Expires 31 December 2026 [Page 61] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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."; } Jethanandani, et al. Expires 31 December 2026 [Page 62] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 63] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 "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 Jethanandani, et al. Expires 31 December 2026 [Page 64] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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"; Jethanandani, et al. Expires 31 December 2026 [Page 65] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 66] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 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 Jethanandani, et al. Expires 31 December 2026 [Page 67] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 (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]. *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-06-29.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 { Jethanandani, et al. Expires 31 December 2026 [Page 68] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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-06-29 { description Jethanandani, et al. Expires 31 December 2026 [Page 69] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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"; } } 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."; } Jethanandani, et al. Expires 31 December 2026 [Page 70] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } } 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 { Jethanandani, et al. Expires 31 December 2026 [Page 71] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; 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 { Jethanandani, et al. Expires 31 December 2026 [Page 72] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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; Jethanandani, et al. Expires 31 December 2026 [Page 73] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 74] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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, " + "'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 Jethanandani, et al. Expires 31 December 2026 [Page 75] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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, " + "'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; } Jethanandani, et al. Expires 31 December 2026 [Page 76] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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 Jethanandani, et al. Expires 31 December 2026 [Page 77] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 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"; Jethanandani, et al. Expires 31 December 2026 [Page 78] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } } } 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 Jethanandani, et al. Expires 31 December 2026 [Page 79] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 (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; } } 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"; } } } Jethanandani, et al. Expires 31 December 2026 [Page 80] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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;"; Jethanandani, et al. Expires 31 December 2026 [Page 81] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 82] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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"; } 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"; Jethanandani, et al. Expires 31 December 2026 [Page 83] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } } 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 "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 Jethanandani, et al. Expires 31 December 2026 [Page 84] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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"; 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 { Jethanandani, et al. Expires 31 December 2026 [Page 85] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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"; Jethanandani, et al. Expires 31 December 2026 [Page 86] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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')" { Jethanandani, et al. Expires 31 December 2026 [Page 87] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } } 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; Jethanandani, et al. Expires 31 December 2026 [Page 88] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; } } 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"; } Jethanandani, et al. Expires 31 December 2026 [Page 89] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } } 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"; 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 Jethanandani, et al. Expires 31 December 2026 [Page 90] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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"; } 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."; Jethanandani, et al. Expires 31 December 2026 [Page 91] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 92] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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 Jethanandani, et al. Expires 31 December 2026 [Page 93] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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)"; Jethanandani, et al. Expires 31 December 2026 [Page 94] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; 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 { Jethanandani, et al. Expires 31 December 2026 [Page 95] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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:" + Jethanandani, et al. Expires 31 December 2026 [Page 96] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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; 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; Jethanandani, et al. Expires 31 December 2026 [Page 97] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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."; 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 Jethanandani, et al. Expires 31 December 2026 [Page 98] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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."; 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; Jethanandani, et al. Expires 31 December 2026 [Page 99] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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; } 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"; Jethanandani, et al. Expires 31 December 2026 [Page 100] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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 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 Jethanandani, et al. Expires 31 December 2026 [Page 101] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 { 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"; } Jethanandani, et al. Expires 31 December 2026 [Page 102] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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). Jethanandani, et al. Expires 31 December 2026 [Page 103] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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:" + "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"; Jethanandani, et al. Expires 31 December 2026 [Page 104] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } } } 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 "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 Jethanandani, et al. Expires 31 December 2026 [Page 105] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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"; Jethanandani, et al. Expires 31 December 2026 [Page 106] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 107] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 { 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, " + Jethanandani, et al. Expires 31 December 2026 [Page 108] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "'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"; } } 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"; } Jethanandani, et al. Expires 31 December 2026 [Page 109] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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"; } 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 Jethanandani, et al. Expires 31 December 2026 [Page 110] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 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 Jethanandani, et al. Expires 31 December 2026 [Page 111] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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 Jethanandani, et al. Expires 31 December 2026 [Page 112] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "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 "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"; Jethanandani, et al. Expires 31 December 2026 [Page 113] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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')" { 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."; Jethanandani, et al. Expires 31 December 2026 [Page 114] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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, " + Jethanandani, et al. Expires 31 December 2026 [Page 115] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 "'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; } } } } } 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-06-29.yang" submodule ietf-bgp-ls-topo-ospf { yang-version 1.1; belongs-to ietf-bgp-lsdb { prefix "bgp-lsdb"; } Jethanandani, et al. Expires 31 December 2026 [Page 116] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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). Jethanandani, et al. Expires 31 December 2026 [Page 117] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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-06-29 { description "Initial Version"; reference "RFC XXXX, BGP Model for Link State Distribution."; } grouping bgp-ls-ospf-node-common { description "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."; } Jethanandani, et al. Expires 31 December 2026 [Page 118] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 "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."; Jethanandani, et al. Expires 31 December 2026 [Page 119] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 } 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, 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)."; Jethanandani, et al. Expires 31 December 2026 [Page 120] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 { 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."; Jethanandani, et al. Expires 31 December 2026 [Page 121] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 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 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 Jethanandani, et al. Expires 31 December 2026 [Page 122] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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. 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 The YANG modules specified in this document define schemas for data that are designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446]. Jethanandani, et al. Expires 31 December 2026 [Page 123] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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. The ietf-bgp-ls module augments the BGP configuration model to add BGP-LS, BGP-LS-VPN, and BGP-LS-SPF address family configuration. These configuration nodes are writable and could be used to redirect topology information to unauthorized collectors if modified without proper authorization. In particular, unauthorized write access to the neighbor-level BGP-LS configuration could cause the router to distribute its LSDB contents to unintended recipients. These data nodes MUST be protected by NACM access control policies limiting write access to authorized administrators. The ietf-bgp-lsdb module and its submodules contain only config false (operational state) data nodes representing the contents of the Link- State Database received from the network. These nodes are readable but not writable. The sensitive read-only data includes full network topology information: node identifiers, link endpoints, prefix advertisements, and SR/SRv6 label and SID assignments. An unauthorized party with read access to this data could reconstruct the network topology and identify traffic engineering paths, which could facilitate traffic interception or denial-of-service attacks. Access to these nodes SHOULD be restricted using NACM [RFC8341] rules to authorized management stations. No RPC or action operations are defined in this document. 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, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . Jethanandani, et al. Expires 31 December 2026 [Page 124] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 [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, . [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . [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, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . Jethanandani, et al. Expires 31 December 2026 [Page 125] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 [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, . [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, . Jethanandani, et al. Expires 31 December 2026 [Page 126] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 [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-20, 23 June 2026, . 7.2. Informative References 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 | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 127] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 128] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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 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 Jethanandani, et al. Expires 31 December 2026 [Page 129] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 130] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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 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 Jethanandani, et al. Expires 31 December 2026 [Page 131] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 | | | | +--ro eag* uint32 Jethanandani, et al. Expires 31 December 2026 [Page 132] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 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 Jethanandani, et al. Expires 31 December 2026 [Page 133] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 134] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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 | | | | +--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? Jethanandani, et al. Expires 31 December 2026 [Page 135] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | 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 | | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 136] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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- 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? Jethanandani, et al. Expires 31 December 2026 [Page 137] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | 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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 138] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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? | | | | | 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 Jethanandani, et al. Expires 31 December 2026 [Page 139] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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) | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 140] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 141] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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 | | | | +--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? Jethanandani, et al. Expires 31 December 2026 [Page 142] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | 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 | | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 143] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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- 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? Jethanandani, et al. Expires 31 December 2026 [Page 144] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | 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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 145] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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? | | | | | 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 Jethanandani, et al. Expires 31 December 2026 [Page 146] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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) | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 147] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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) | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 148] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 149] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 | | | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 150] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | | +--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- 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 Jethanandani, et al. Expires 31 December 2026 [Page 151] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 152] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | | 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? | | | | | 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? Jethanandani, et al. Expires 31 December 2026 [Page 153] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | 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 | | | 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 Jethanandani, et al. Expires 31 December 2026 [Page 154] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 155] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 156] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 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 Jethanandani, et al. Expires 31 December 2026 [Page 157] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 158] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 159] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 160] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | +--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) | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 161] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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- ieee-float32 | | | +--ro exclude-maximum-delay | | | | +--ro delay? uint32 | | | +--ro exclude-any-reverse-affin Jethanandani, et al. Expires 31 December 2026 [Page 162] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 163] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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- ieee-float32 | | | +--ro exclude-maximum-delay | | | | +--ro delay? uint32 | | | +--ro exclude-any-reverse-affin ity | | | | +--ro eag* uint32 | | | +--ro include-any-reverse-affin Jethanandani, et al. Expires 31 December 2026 [Page 164] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 | | +--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 31 December 2026 [Page 165] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 31 December 2026 [Page 166] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 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 | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 167] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 168] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 169] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 170] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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? | | | 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 Jethanandani, et al. Expires 31 December 2026 [Page 171] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 172] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 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* Jethanandani, et al. Expires 31 December 2026 [Page 173] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | (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 | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 174] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 175] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 176] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 177] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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? | | | 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 Jethanandani, et al. Expires 31 December 2026 [Page 178] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 179] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 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* Jethanandani, et al. Expires 31 December 2026 [Page 180] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | (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 | | | +--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? Jethanandani, et al. Expires 31 December 2026 [Page 181] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | 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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 182] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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) Jethanandani, et al. Expires 31 December 2026 [Page 183] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 184] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | 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? | | | 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? Jethanandani, et al. Expires 31 December 2026 [Page 185] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | 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 | | | +--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? Jethanandani, et al. Expires 31 December 2026 [Page 186] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | 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 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) Jethanandani, et al. Expires 31 December 2026 [Page 187] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 +--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 Jethanandani, et al. Expires 31 December 2026 [Page 188] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 | | +--ro value? yang:hex-string | +--ro ospfv3-prefix* Jethanandani, et al. Expires 31 December 2026 [Page 189] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | (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 | | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 190] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | | +--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 | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 191] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 | | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 192] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | | +--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 | +--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 Jethanandani, et al. Expires 31 December 2026 [Page 193] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 | +--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 +--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 {bt:clear-statistics}? +---w input | +---w clear-at? yang:date-and-time +--ro output +--ro clear-finished-at? yang:date-and-time Jethanandani, et al. Expires 31 December 2026 [Page 194] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 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. bgp:bgp Jethanandani, et al. Expires 31 December 2026 [Page 195] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 10 Jethanandani, et al. Expires 31 December 2026 [Page 196] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 31 December 2026 [Page 197] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 0.0.0.0 0.0.0.0 2001:db8::1 2001:db8::2 0 Jethanandani, et al. Expires 31 December 2026 [Page 198] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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). bgp:bgp Jethanandani, et al. Expires 31 December 2026 [Page 199] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 :: :: 0 t:bgp-ls-topo-attr-igp-metric Jethanandani, et al. Expires 31 December 2026 [Page 200] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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. bgp:bgp example Jethanandani, et al. Expires 31 December 2026 [Page 201] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 2026 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 31 December 2026 [Page 202] Internet-Draft BGP LS, LS-VPN, LS-SPF YANG Model June 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 31 December 2026 [Page 203]