| rfc9085.original | rfc9085.txt | |||
|---|---|---|---|---|
| Inter-Domain Routing S. Previdi | Internet Engineering Task Force (IETF) S. Previdi | |||
| Internet-Draft Huawei Technologies | Request for Comments: 9085 Huawei Technologies | |||
| Intended status: Standards Track K. Talaulikar, Ed. | Category: Standards Track K. Talaulikar, Ed. | |||
| Expires: October 17, 2021 C. Filsfils | ISSN: 2070-1721 C. Filsfils | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| H. Gredler | H. Gredler | |||
| RtBrick Inc. | RtBrick Inc. | |||
| M. Chen | M. Chen | |||
| Huawei Technologies | Huawei Technologies | |||
| April 15, 2021 | August 2021 | |||
| BGP Link-State extensions for Segment Routing | Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment | |||
| draft-ietf-idr-bgp-ls-segment-routing-ext-18 | Routing | |||
| Abstract | Abstract | |||
| Segment Routing (SR) allows for a flexible definition of end-to-end | Segment Routing (SR) allows for a flexible definition of end-to-end | |||
| paths by encoding paths as sequences of topological sub-paths, called | paths by encoding paths as sequences of topological subpaths, called | |||
| "segments". These segments are advertised by routing protocols e.g. | "segments". These segments are advertised by routing protocols, | |||
| by the link state routing protocols (IS-IS, OSPFv2 and OSPFv3) within | e.g., by the link-state routing protocols (IS-IS, OSPFv2, and OSPFv3) | |||
| IGP topologies. | within IGP topologies. | |||
| This document defines extensions to the BGP Link-state address-family | ||||
| in order to carry segment routing information via BGP. | ||||
| Requirements Language | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | This document defines extensions to the Border Gateway Protocol - | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | Link State (BGP-LS) address family in order to carry SR information | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | via BGP. | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | This document is a product of the Internet Engineering Task Force | |||
| Task Force (IETF). Note that other groups may also distribute | (IETF). It represents the consensus of the IETF community. It has | |||
| working documents as Internet-Drafts. The list of current Internet- | received public review and has been approved for publication by the | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | Information about the current status of this document, any errata, | |||
| and may be updated, replaced, or obsoleted by other documents at any | and how to provide feedback on it may be obtained at | |||
| time. It is inappropriate to use Internet-Drafts as reference | https://www.rfc-editor.org/info/rfc9085. | |||
| material or to cite them other than as "work in progress." | ||||
| This Internet-Draft will expire on October 17, 2021. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. BGP-LS Extensions for Segment Routing . . . . . . . . . . . . 5 | 1.1. Requirements Language | |||
| 2.1. Node Attributes TLVs . . . . . . . . . . . . . . . . . . 5 | 2. BGP-LS Extensions for Segment Routing | |||
| 2.1.1. SID/Label TLV . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Node Attribute TLVs | |||
| 2.1.2. SR Capabilities TLV . . . . . . . . . . . . . . . . . 6 | 2.1.1. SID/Label TLV | |||
| 2.1.3. SR Algorithm TLV . . . . . . . . . . . . . . . . . . 8 | 2.1.2. SR Capabilities TLV | |||
| 2.1.4. SR Local Block TLV . . . . . . . . . . . . . . . . . 8 | 2.1.3. SR-Algorithm TLV | |||
| 2.1.5. SRMS Preference TLV . . . . . . . . . . . . . . . . . 10 | 2.1.4. SR Local Block TLV | |||
| 2.2. Link Attribute TLVs . . . . . . . . . . . . . . . . . . . 11 | 2.1.5. SRMS Preference TLV | |||
| 2.2.1. Adjacency SID TLV . . . . . . . . . . . . . . . . . . 11 | 2.2. Link Attribute TLVs | |||
| 2.2.2. LAN Adjacency SID TLV . . . . . . . . . . . . . . . . 12 | 2.2.1. Adjacency SID TLV | |||
| 2.2.3. L2 Bundle Member Attribute TLV . . . . . . . . . . . 14 | 2.2.2. LAN Adjacency SID TLV | |||
| 2.3. Prefix Attribute TLVs . . . . . . . . . . . . . . . . . . 15 | 2.2.3. L2 Bundle Member Attributes TLV | |||
| 2.3.1. Prefix SID TLV . . . . . . . . . . . . . . . . . . . 16 | 2.3. Prefix Attribute TLVs | |||
| 2.3.2. Prefix Attribute Flags TLV . . . . . . . . . . . . . 17 | 2.3.1. Prefix-SID TLV | |||
| 2.3.3. Source Router Identifier TLV . . . . . . . . . . . . 18 | 2.3.2. Prefix Attribute Flags TLV | |||
| 2.3.4. Source OSPF Router-ID TLV . . . . . . . . . . . . . . 19 | 2.3.3. Source Router Identifier TLV | |||
| 2.3.5. Range TLV . . . . . . . . . . . . . . . . . . . . . . 20 | 2.3.4. Source OSPF Router-ID TLV | |||
| 2.4. Equivalent IS-IS Segment Routing TLVs/Sub-TLVs . . . . . 21 | 2.3.5. Range TLV | |||
| 2.5. Equivalent OSPFv2/OSPFv3 Segment Routing TLVs/Sub-TLVs . 22 | 2.4. Equivalent IS-IS Segment Routing TLVs/Sub-TLVs | |||
| 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | 2.5. Equivalent OSPFv2/OSPFv3 Segment Routing TLVs/Sub-TLVs | |||
| 3.1. TLV/Sub-TLV Code Points Summary . . . . . . . . . . . . . 25 | 3. IANA Considerations | |||
| 4. Manageability Considerations . . . . . . . . . . . . . . . . 25 | 3.1. TLV/Sub-TLV Code Points Summary | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | 4. Manageability Considerations | |||
| 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27 | 5. Security Considerations | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 | 6. References | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 6.1. Normative References | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 28 | 6.2. Informative References | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 30 | Acknowledgements | |||
| Contributors | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| Segment Routing (SR) allows for a flexible definition of end-to-end | Segment Routing (SR) allows for a flexible definition of end-to-end | |||
| paths by combining sub-paths called "segments". A segment can | paths by combining subpaths called "segments". A segment can | |||
| represent any instruction: topological or service-based. A segment | represent any instruction: topological or service based. A segment | |||
| can have a local semantic to an SR node or global semantic within a | can have a local semantic to an SR node or global semantic within a | |||
| domain. Within IGP topologies, an SR path is encoded as a sequence | domain. Within IGP topologies, an SR path is encoded as a sequence | |||
| of topological sub-paths, called "IGP segments". These segments are | of topological subpaths, called "IGP segments". These segments are | |||
| advertised by the link-state routing protocols (IS-IS, OSPFv2 and | advertised by the link-state routing protocols (IS-IS, OSPFv2, and | |||
| OSPFv3). | OSPFv3). | |||
| [RFC8402] defines the Link-State IGP segments - Prefix, Node, Anycast | [RFC8402] defines the link-state IGP segments -- prefix, node, | |||
| and Adjacency segments. Prefix segments, by default, represent an | anycast, and adjacency segments. Prefix segments, by default, | |||
| ECMP-aware shortest-path to a prefix, as per the state of the IGP | represent an ECMP-aware shortest-path to a prefix, as per the state | |||
| topology. Adjacency segments represent a hop over a specific | of the IGP topology. Adjacency segments represent a hop over a | |||
| adjacency between two nodes in the IGP. A prefix segment is | specific adjacency between two nodes in the IGP. A prefix segment is | |||
| typically a multi-hop path while an adjacency segment, in most of the | typically a multi-hop path while an adjacency segment, in most of the | |||
| cases, is a one-hop path. Node and anycast segments are variations | cases, is a one-hop path. Node and anycast segments are variations | |||
| of the prefix segment with their specific characteristics. | of the prefix segment with their specific characteristics. | |||
| When Segment Routing is enabled in an IGP domain, segments are | When SR is enabled in an IGP domain, segments are advertised in the | |||
| advertised in the form of Segment Identifiers (SIDs). The IGP link- | form of Segment Identifiers (SIDs). The IGP link-state routing | |||
| state routing protocols have been extended to advertise SIDs and | protocols have been extended to advertise SIDs and other SR-related | |||
| other SR-related information. IGP extensions are described for: IS- | information. IGP extensions are described for: IS-IS [RFC8667], | |||
| IS [RFC8667], OSPFv2 [RFC8665] and OSPFv3 [RFC8666]. Using these | OSPFv2 [RFC8665], and OSPFv3 [RFC8666]. Using these extensions, SR | |||
| extensions, Segment Routing can be enabled within an IGP domain. | can be enabled within an IGP domain. | |||
| Segment Routing (SR) allows advertisement of single or multi-hop | SR allows advertisement of single or multi-hop paths. The flooding | |||
| paths. The flooding scope for the IGP extensions for Segment routing | scope for the IGP extensions for SR is IGP area-wide. Consequently, | |||
| is IGP area-wide. Consequently, the contents of a Link State | the contents of a Link-State Database (LSDB) or a Traffic Engineering | |||
| Database (LSDB) or a Traffic Engineering Database (TED) has the scope | Database (TED) has the scope of an IGP area; therefore, by using the | |||
| of an IGP area and therefore, by using the IGP alone it is not enough | IGP alone, it is not enough to construct segments across multiple IGP | |||
| to construct segments across multiple IGP Area or AS boundaries. | area or Autonomous System (AS) boundaries. | |||
| In order to address the need for applications that require | In order to address the need for applications that require | |||
| topological visibility across IGP areas, or even across Autonomous | topological visibility across IGP areas, or even across ASes, the | |||
| Systems (AS), the BGP-LS address-family/sub-address-family have been | BGP-LS address family / subaddress family have been defined to allow | |||
| defined to allow BGP to carry Link-State information. The BGP | BGP to carry link-state information. The BGP Network Layer | |||
| Network Layer Reachability Information (NLRI) encoding format for | Reachability Information (NLRI) encoding format for BGP-LS and a new | |||
| BGP-LS and a new BGP Path Attribute called the BGP-LS attribute are | BGP Path Attribute called the "BGP-LS Attribute" are defined in | |||
| defined in [RFC7752]. The identifying key of each Link-State object, | [RFC7752]. The identifying key of each link-state object, namely a | |||
| namely a node, link, or prefix, is encoded in the NLRI and the | node, link, or prefix, is encoded in the NLRI, and the properties of | |||
| properties of the object are encoded in the BGP-LS attribute. | the object are encoded in the BGP-LS Attribute. | |||
| +------------+ | +------------+ | |||
| | Consumer | | | Consumer | | |||
| +------------+ | +------------+ | |||
| ^ | ^ | |||
| | | | | |||
| v | v | |||
| +-------------------+ | +-------------------+ | |||
| | BGP Speaker | +-----------+ | | BGP Speaker | +-----------+ | |||
| | (Route-Reflector) | | Consumer | | | (Route Reflector) | | Consumer | | |||
| +-------------------+ +-----------+ | +-------------------+ +-----------+ | |||
| ^ ^ ^ ^ | ^ ^ ^ ^ | |||
| | | | | | | | | | | |||
| +---------------+ | +-------------------+ | | +---------------+ | +-------------------+ | | |||
| | | | | | | | | | | |||
| v v v v | v v v v | |||
| +-----------+ +-----------+ +-----------+ | +-----------+ +-----------+ +-----------+ | |||
| | BGP | | BGP | | BGP | | | BGP | | BGP | | BGP | | |||
| | Speaker | | Speaker | . . . | Speaker | | | Speaker | | Speaker | . . . | Speaker | | |||
| +-----------+ +-----------+ +-----------+ | +-----------+ +-----------+ +-----------+ | |||
| ^ ^ ^ | ^ ^ ^ | |||
| | | | | | | | | |||
| IGP IGP IGP | IGP IGP IGP | |||
| Figure 1: Link State info collection | Figure 1: Link-State Information Collection | |||
| Figure 1 denotes a typical deployment scenario. In each IGP area, | Figure 1 denotes a typical deployment scenario. In each IGP area, | |||
| one or more nodes are configured with BGP-LS. These BGP speakers | one or more nodes are configured with BGP-LS. These BGP speakers | |||
| form an IBGP mesh by connecting to one or more route-reflectors. | form an Internal BGP (IBGP) mesh by connecting to one or more route | |||
| This way, all BGP speakers (specifically the route-reflectors) obtain | reflectors. This way, all BGP speakers (specifically the route | |||
| Link-State information from all IGP areas (and from other ASes from | reflectors) obtain link-state information from all IGP areas (and | |||
| EBGP peers). An external component connects to the route-reflector | from other ASes from External BGP (EBGP) peers). An external | |||
| to obtain this information (perhaps moderated by a policy regarding | component connects to the route reflector to obtain this information | |||
| what information is or isn't advertised to the external component) as | (perhaps moderated by a policy regarding what information is or isn't | |||
| described in [RFC7752]. | advertised to the external component) as described in [RFC7752]. | |||
| This document describes extensions to BGP-LS to advertise the SR | This document describes extensions to BGP-LS to advertise the SR | |||
| information. An external component (e.g., a controller) can collect | information. An external component (e.g., a controller) can collect | |||
| SR information from across an SR domain (as described in [RFC8402]) | SR information from across an SR domain (as described in [RFC8402]) | |||
| and construct the end-to-end path (with its associated SIDs) that | and construct the end-to-end path (with its associated SIDs) that | |||
| need to be applied to an incoming packet to achieve the desired end- | needs to be applied to an incoming packet to achieve the desired end- | |||
| to-end forwarding. SR operates within a trusted domain consisting of | to-end forwarding. SR operates within a trusted domain consisting of | |||
| a single or multiple ASes managed by the same administrative entity | a single AS or multiple ASes managed by the same administrative | |||
| e.g. within a single provider network. | entity, e.g., within a single provider network. | |||
| 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. BGP-LS Extensions for Segment Routing | 2. BGP-LS Extensions for Segment Routing | |||
| This document defines SR extensions to BGP-LS and specifies the TLVs | This document defines SR extensions to BGP-LS and specifies the TLVs | |||
| and sub-TLVs for advertising SR information within the BGP-LS | and sub-TLVs for advertising SR information within the BGP-LS | |||
| Attribute. Section 2.4 and Section 2.5 lists the equivalent TLVs and | Attribute. Sections 2.4 and 2.5 list the equivalent TLVs and sub- | |||
| sub-TLVs in IS-IS, OSPFv2 and OSPFv3 protocols. | TLVs in the IS-IS, OSPFv2, and OSPFv3 protocols. | |||
| BGP-LS [RFC7752] defines the BGP-LS NLRI that can be a Node NLRI, a | BGP-LS [RFC7752] defines the BGP-LS NLRI that can be a Node NLRI, a | |||
| Link NLRI or a Prefix NLRI. BGP-LS [RFC7752] defines the TLVs that | Link NLRI, or a Prefix NLRI, and it defines the TLVs that map link- | |||
| map link-state information to BGP-LS NLRI within the BGP-LS | state information to BGP-LS NLRI within the BGP-LS Attribute. This | |||
| Attribute. This document adds additional BGP-LS Attribute TLVs in | document adds additional BGP-LS Attribute TLVs in order to encode SR | |||
| order to encode SR information. It does not introduce any changes to | information. It does not introduce any changes to the encoding of | |||
| the encoding of the BGP-LS NLRIs. | the BGP-LS NLRIs. | |||
| 2.1. Node Attributes TLVs | 2.1. Node Attribute TLVs | |||
| The following Node Attribute TLVs are defined: | The following Node Attribute TLVs are defined: | |||
| +------+-----------------+---------------+ | +======+=================+===============+ | |||
| | Type | Description | Section | | | Type | Description | Section | | |||
| +------+-----------------+---------------+ | +======+=================+===============+ | |||
| | 1161 | SID/Label | Section 2.1.1 | | | 1161 | SID/Label | Section 2.1.1 | | |||
| +------+-----------------+---------------+ | ||||
| | 1034 | SR Capabilities | Section 2.1.2 | | | 1034 | SR Capabilities | Section 2.1.2 | | |||
| +------+-----------------+---------------+ | ||||
| | 1035 | SR Algorithm | Section 2.1.3 | | | 1035 | SR Algorithm | Section 2.1.3 | | |||
| +------+-----------------+---------------+ | ||||
| | 1036 | SR Local Block | Section 2.1.4 | | | 1036 | SR Local Block | Section 2.1.4 | | |||
| +------+-----------------+---------------+ | ||||
| | 1037 | SRMS Preference | Section 2.1.5 | | | 1037 | SRMS Preference | Section 2.1.5 | | |||
| +------+-----------------+---------------+ | +------+-----------------+---------------+ | |||
| Table 1: Node Attribute TLVs | Table 1: Node Attribute TLVs | |||
| These TLVs should only be added to the BGP-LS Attribute associated | These TLVs should only be added to the BGP-LS Attribute associated | |||
| with the Node NLRI describing the IGP node that is originating the | with the Node NLRI that describes the IGP node that is originating | |||
| corresponding IGP TLV/sub-TLV described below. | the corresponding IGP TLV/sub-TLV described below. | |||
| 2.1.1. SID/Label TLV | 2.1.1. SID/Label TLV | |||
| The SID/Label TLV is used as a sub-TLV by the SR Capabilities | The SID/Label TLV is used as a sub-TLV by the SR Capabilities | |||
| (Section 2.1.2) and Segment Routing Local Block (SRLB) | (Section 2.1.2) and Segment Routing Local Block (SRLB) | |||
| (Section 2.1.4) TLVs. This information is derived from the protocol | (Section 2.1.4) TLVs. This information is derived from the protocol- | |||
| specific advertisements. | specific advertisements. | |||
| o IS-IS, as defined by the SID/Label sub-TLV in section 2.3 of | * IS-IS, as defined by the SID/Label Sub-TLV in Section 2.3 of | |||
| [RFC8667]. | [RFC8667]. | |||
| o OSPFv2/OSPFv3, as defined by the SID/Label sub-TLV in section 2.1 | * OSPFv2/OSPFv3, as defined by the SID/Label Sub-TLV in Section 2.1 | |||
| of [RFC8665] and section 3.1 of [RFC8666]. | of [RFC8665] and Section 3.1 of [RFC8666]. | |||
| The TLV has the following format: | The TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label (variable) // | | SID/Label (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: SID/Label TLV Format | Figure 2: SID/Label TLV Format | |||
| Where: | Where: | |||
| Type: 1161 | Type: 1161 | |||
| Length: Variable. Either 3 or 4 depending whether the value is | Length: Variable. Either 3 or 4 octets depending on whether the | |||
| encoded as a label or as an index/SID. | value is encoded as a label or as an index/SID. | |||
| SID/Label: If length is set to 3, then the 20 rightmost bits | SID/Label: If the length is set to 3, then the 20 rightmost bits | |||
| represent a label (the total TLV size is 7) and the 4 leftmost | represent a label (the total TLV size is 7), and the 4 leftmost | |||
| bits are set to 0. If length is set to 4, then the value | bits are set to 0. If the length is set to 4, then the value | |||
| represents a 32 bit SID (the total TLV size is 8). | represents a 32-bit SID (the total TLV size is 8). | |||
| 2.1.2. SR Capabilities TLV | 2.1.2. SR Capabilities TLV | |||
| The SR Capabilities TLV is used in order to advertise the node's SR | The SR Capabilities TLV is used in order to advertise the node's SR | |||
| Capabilities including its Segment Routing Global Base (SRGB) | capabilities including its Segment Routing Global Base (SRGB) | |||
| range(s). In the case of IS-IS, the capabilities also include the | range(s). In the case of IS-IS, the capabilities also include the | |||
| IPv4 and IPv6 support for the SR-MPLS forwarding plane. This | IPv4 and IPv6 support for the SR-MPLS forwarding plane. This | |||
| information is derived from the protocol specific advertisements. | information is derived from the protocol-specific advertisements. | |||
| o IS-IS, as defined by the SR Capabilities sub-TLV in section 3.1 of | * IS-IS, as defined by the SR-Capabilities Sub-TLV in Section 3.1 of | |||
| [RFC8667]. | [RFC8667]. | |||
| o OSPFv2/OSPFv3, as defined by the SID/Label Range TLV in section | * OSPFv2/OSPFv3, as defined by the SID/Label Range TLV in | |||
| 3.2 of [RFC8665]. OSPFv3 leverages the same TLV as defined for | Section 3.2 of [RFC8665]. OSPFv3 leverages the same TLV as | |||
| OSPFv2. | defined for OSPFv2. | |||
| The SR Capabilities TLV has the following format: | The SR Capabilities TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Reserved | | | Flags | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Range Size 1 | | | Range Size 1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label sub-TLV 1 // | | SID/Label Sub-TLV 1 // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | ... | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Range Size N | | | Range Size N | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label sub-TLV N // | | SID/Label Sub-TLV N // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: SR Capabilities TLV Format | Figure 3: SR Capabilities TLV Format | |||
| Where: | Where: | |||
| Type: 1034 | Type: 1034 | |||
| Length: Variable. Minimum length is 12. | Length: Variable. The minimum length is 12 octets. | |||
| Flags: 1 octet of flags as defined in section 3.1 of [RFC8667] for | Flags: 1 octet of flags as defined in Section 3.1 of [RFC8667] for | |||
| IS-IS. The flags are not currently defined for OSPFv2 and OSPFv3 | IS-IS. The flags are not currently defined for OSPFv2 and OSPFv3 | |||
| and MUST be set to 0 and ignored on receipt. | and MUST be set to 0 and ignored on receipt. | |||
| Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | |||
| One or more entries, each of which have the following format: | One or more entries, each of which have the following format: | |||
| Range Size: 3 octet with a non-zero value indicating the number | Range Size: 3 octets with a non-zero value indicating the number | |||
| of labels in the range. | of labels in the range. | |||
| SID/Label TLV (as defined in Section 2.1.1) used as sub-TLV | SID/Label TLV: (as defined in Section 2.1.1) used as a sub-TLV, | |||
| which encodes the first label in the range. Since the SID/ | which encodes the first label in the range. Since the SID/ | |||
| Label TLV is used to indicate the first label of the SRGB | Label TLV is used to indicate the first label of the SRGB | |||
| range, only label encoding is valid under the SR Capabilities | range, only label encoding is valid under the SR Capabilities | |||
| TLV. | TLV. | |||
| 2.1.3. SR Algorithm TLV | 2.1.3. SR-Algorithm TLV | |||
| The SR Algorithm TLV is used in order to advertise the SR Algorithms | The SR-Algorithm TLV is used in order to advertise the SR algorithms | |||
| supported by the node. This information is derived from the protocol | supported by the node. This information is derived from the | |||
| specific advertisements. | protocol-specific advertisements. | |||
| o IS-IS, as defined by the SR-Algorithm sub-TLV in section 3.2 of | * IS-IS, as defined by the SR-Algorithm Sub-TLV in Section 3.2 of | |||
| [RFC8667]. | [RFC8667]. | |||
| o OSPFv2/OSPFv3, as defined by the SR-Algorithm TLV in section 3.1 | * OSPFv2/OSPFv3, as defined by the SR-Algorithm TLV in Section 3.1 | |||
| of [RFC8665]. OSPFv3 leverages the same TLV as defined for | of [RFC8665]. OSPFv3 leverages the same TLV as defined for | |||
| OSPFv2. | OSPFv2. | |||
| The SR Algorithm TLV has the following format: | The SR-Algorithm TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Algorithm 1 | Algorithm... | Algorithm N | | | Algorithm 1 | Algorithm... | Algorithm N | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: SR Algorithm TLV Format | Figure 4: SR-Algorithm TLV Format | |||
| Where: | Where: | |||
| Type: 1035 | Type: 1035 | |||
| Length: Variable. Minimum length is 1 and maximum can be 256. | Length: Variable. The minimum length is 1 octet and the maximum can | |||
| be 256. | ||||
| Algorithm: One or more fields of 1 octet each identifying the | Algorithm: One or more fields of 1 octet each that identifies the | |||
| algorithm. | algorithm. | |||
| 2.1.4. SR Local Block TLV | 2.1.4. SR Local Block TLV | |||
| The SR Local Block (SRLB) TLV contains the range(s) of labels the | The SRLB TLV contains the range(s) of labels the node has reserved | |||
| node has reserved for local SIDs. Local SIDs are used, e.g., in IGP | for local SIDs. Local SIDs are used, e.g., in IGP (IS-IS, OSPF) for | |||
| (IS-IS, OSPF) for Adjacency-SIDs, and may also be allocated by | Adjacency SIDs and may also be allocated by components other than IGP | |||
| components other than IGP protocols. As an example, an application | protocols. As an example, an application or a controller may | |||
| or a controller may instruct a node to allocate a specific local SID. | instruct a node to allocate a specific local SID. Therefore, in | |||
| Therefore, in order for such applications or controllers to know the | order for such applications or controllers to know the range of local | |||
| range of local SIDs available, it is required that the node | SIDs available, the node is required to advertise its SRLB. | |||
| advertises its SRLB. | ||||
| This information is derived from the protocol specific | This information is derived from the protocol-specific | |||
| advertisements. | advertisements. | |||
| o IS-IS, as defined by the SR Local Block sub-TLV in section 3.3 of | * IS-IS, as defined by the SRLB Sub-TLV in Section 3.3 of [RFC8667]. | |||
| [RFC8667]. | ||||
| o OSPFv2/OSPFv3, as defined by the SR Local Block TLV in section | * OSPFv2/OSPFv3, as defined by the SR Local Block TLV in Section 3.3 | |||
| 3.3. of [RFC8665]. OSPFv3 leverages the same TLV as defined for | of [RFC8665]. OSPFv3 leverages the same TLV as defined for | |||
| OSPFv2. | OSPFv2. | |||
| The SRLB TLV has the following format: | The SRLB TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Reserved | | | Flags | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sub-Range Size 1 | | | Sub-Range Size 1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label sub-TLV 1 // | | SID/Label Sub-TLV 1 // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | ... | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sub-Range Size N | | | Sub-Range Size N | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label sub-TLV N // | | SID/Label Sub-TLV N // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: SRLB TLV Format | Figure 5: SRLB TLV Format | |||
| Where: | Where: | |||
| Type: 1036 | Type: 1036 | |||
| Length: Variable. Minimum length is 12. | Length: Variable. The minimum length is 12 octets. | |||
| Flags: 1 octet of flags. The flags are as defined in section 3.3 | Flags: 1 octet of flags. The flags are as defined in Section 3.3 of | |||
| of [RFC8667] for IS-IS. The flags are not currently defined for | [RFC8667] for IS-IS. The flags are not currently defined for | |||
| OSPFv2 and OSPFv3 and MUST be set to 0 and ignored on receipt. | OSPFv2 and OSPFv3 and MUST be set to 0 and ignored on receipt. | |||
| Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | |||
| One or more entries corresponding to sub-range(s), each of which | One or more entries corresponding to a sub-range(s), each of which | |||
| have the following format: | have the following format: | |||
| Range Size: 3 octet value indicating the number of labels in | Range Size: 3-octet value indicating the number of labels in the | |||
| the range. | range. | |||
| SID/Label TLV (as defined in Section 2.1.1) used as sub-TLV | SID/Label TLV: (as defined in Section 2.1.1) used as a sub-TLV, | |||
| which encodes the first label in the sub-range. Since the SID/ | which encodes the first label in the sub-range. Since the SID/ | |||
| Label TLV is used to indicate the first label of the SRLB sub- | Label TLV is used to indicate the first label of the SRLB sub- | |||
| range, only label encoding is valid under the SR Local Block | range, only label encoding is valid under the SR Local Block | |||
| TLV. | TLV. | |||
| 2.1.5. SRMS Preference TLV | 2.1.5. SRMS Preference TLV | |||
| The Segment Routing Mapping Server (SRMS) Preference TLV is used in | The Segment Routing Mapping Server (SRMS) Preference TLV is used in | |||
| order to associate a preference with SRMS advertisements from a | order to associate a preference with SRMS advertisements from a | |||
| particular source. [RFC8661] specifies the SRMS functionality along | particular source. [RFC8661] specifies the SRMS functionality along | |||
| with SRMS preference of the node advertising the SRMS Prefix-to-SID | with the SRMS preference of the node advertising the SRMS Prefix-to- | |||
| Mapping ranges. | SID mapping ranges. | |||
| This information is derived from the protocol specific | This information is derived from the protocol-specific | |||
| advertisements. | advertisements. | |||
| o IS-IS, as defined by the SRMS Preference sub-TLV in section 3.4 of | * IS-IS, as defined by the SRMS Preference Sub-TLV in Section 3.4 of | |||
| [RFC8667]. | [RFC8667]. | |||
| o OSPFv2/OSPFv3, as defined by the SRMS Preference TLV in section | * OSPFv2/OSPFv3, as defined by the SRMS Preference TLV in | |||
| 3.4 of [RFC8665]. OSPFv3 leverages the same TLV as defined for | Section 3.4 of [RFC8665]. OSPFv3 leverages the same TLV as | |||
| OSPFv2. | defined for OSPFv2. | |||
| The SRMS Preference TLV has the following format: | The SRMS Preference TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Preference | | | Preference | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Figure 6: SRMS Preference TLV Format | Figure 6: SRMS Preference TLV Format | |||
| Where: | Where: | |||
| Type: 1037 | Type: 1037 | |||
| Length: 1. | Length: 1 octet | |||
| Preference: 1 octet carrying an unsigned 8 bit SRMS preference. | Preference: 1 octet carrying an unsigned 8-bit SRMS preference. | |||
| 2.2. Link Attribute TLVs | 2.2. Link Attribute TLVs | |||
| The following Link Attribute TLVs are are defined: | The following Link Attribute TLVs are defined: | |||
| +------+-----------------------+---------------+ | +======+=================================+===============+ | |||
| | Type | Description | Section | | | Type | Description | Section | | |||
| +------+-----------------------+---------------+ | +======+=================================+===============+ | |||
| | 1099 | Adjacency SID TLV | Section 2.2.1 | | | 1099 | Adjacency SID TLV | Section 2.2.1 | | |||
| | 1100 | LAN Adjacency SID TLV | Section 2.2.2 | | +------+---------------------------------+---------------+ | |||
| | 1172 | L2 Bundle Member TLV | Section 2.2.3 | | | 1100 | LAN Adjacency SID TLV | Section 2.2.2 | | |||
| +------+-----------------------+---------------+ | +------+---------------------------------+---------------+ | |||
| | 1172 | L2 Bundle Member Attributes TLV | Section 2.2.3 | | ||||
| +------+---------------------------------+---------------+ | ||||
| Table 2: Link Attribute TLVs | Table 2: Link Attribute TLVs | |||
| These TLVs should only be added to the BGP-LS Attribute associated | These TLVs should only be added to the BGP-LS Attribute associated | |||
| with the Link NLRI describing the link of the IGP node that is | with the Link NLRI that describes the link of the IGP node that is | |||
| originating the corresponding IGP TLV/sub-TLV described below. | originating the corresponding IGP TLV/sub-TLV described below. | |||
| 2.2.1. Adjacency SID TLV | 2.2.1. Adjacency SID TLV | |||
| The Adjacency SID TLV is used in order to advertise information | The Adjacency SID TLV is used in order to advertise information | |||
| related to an Adjacency SID. This information is derived from Adj- | related to an Adjacency SID. This information is derived from the | |||
| SID sub-TLV of IS-IS (section 2.2.1 of [RFC8667]), OSPFv2 (section | Adj-SID Sub-TLV of IS-IS (Section 2.2.1 of [RFC8667]), OSPFv2 | |||
| 6.1 of [RFC8665]) and OSPFv3 (section 7.1 of [RFC8666]). | (Section 6.1 of [RFC8665]), and OSPFv3 (Section 7.1 of [RFC8666]). | |||
| The Adjacency SID TLV has the following format: | The Adjacency SID TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Weight | Reserved | | | Flags | Weight | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label/Index (variable) // | | SID/Label/Index (variable) // | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| Figure 7: Adjacency SID TLV Format | Figure 7: Adjacency SID TLV Format | |||
| Where: | Where: | |||
| Type: 1099 | Type: 1099 | |||
| Length: Variable. Either 7 or 8 depending on Label or Index | Length: Variable. Either 7 or 8 octets depending on the label or | |||
| encoding of the SID | index encoding of the SID. | |||
| Flags. 1 octet value which should be set as: | Flags: 1-octet value that should be set as: | |||
| * IS-IS Adj-SID flags are defined in section 2.2.1 of [RFC8667]. | * IS-IS Adj-SID flags as defined in Section 2.2.1 of [RFC8667]. | |||
| * OSPFv2 Adj-SID flags are defined in section 6.1 of [RFC8665]. | * OSPFv2 Adj-SID flags as defined in Section 6.1 of [RFC8665]. | |||
| * OSPFv3 Adj-SID flags are defined in section 7.1 of [RFC8666]. | * OSPFv3 Adj-SID flags as defined in Section 7.1 of [RFC8666]. | |||
| Weight: 1 octet carrying the weight used for load-balancing | Weight: 1 octet carrying the weight used for load-balancing | |||
| purposes. The use of weight is described in section 3.4 of | purposes. The use of weight is described in Section 3.4 of | |||
| [RFC8402]. | [RFC8402]. | |||
| Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | |||
| SID/Index/Label: | SID/Index/Label: | |||
| * IS-IS: Label or index value as defined in section 2.2.1 of | IS-IS: Label or index value as defined in Section 2.2.1 of | |||
| [RFC8667]. | [RFC8667]. | |||
| * OSPFv2: Label or index value as defined in section 6.1 of | OSPFv2: Label or index value as defined in Section 6.1 of | |||
| [RFC8665]. | [RFC8665]. | |||
| * OSPFv3: Label or index value as defined in section 7.1 of | OSPFv3: Label or index value as defined in Section 7.1 of | |||
| [RFC8666]. | [RFC8666]. | |||
| The Flags and, as an extension, the SID/Index/Label fields of this | The Flags and, as an extension, the SID/Index/Label fields of this | |||
| TLV are interpreted according to the respective underlying IS-IS, | TLV are interpreted according to the respective underlying IS-IS, | |||
| OSPFv2 or OSPFv3 protocol. The Protocol-ID of the BGP-LS Link NLRI | OSPFv2, or OSPFv3 protocol. The Protocol-ID of the BGP-LS Link NLRI | |||
| is used to determine the underlying protocol specification for | is used to determine the underlying protocol specification for | |||
| parsing these fields. | parsing these fields. | |||
| 2.2.2. LAN Adjacency SID TLV | 2.2.2. LAN Adjacency SID TLV | |||
| For a LAN, normally a node only announces its adjacency to the IS-IS | For a LAN, normally a node only announces its adjacency to the IS-IS | |||
| pseudo-node (or the equivalent OSPF Designated and Backup Designated | pseudonode (or the equivalent OSPF Designated and Backup Designated | |||
| Routers). The LAN Adjacency Segment TLV allows a node to announce | Routers). The LAN Adjacency SID TLV allows a node to announce | |||
| adjacencies to all other nodes attached to the LAN in a single | adjacencies to all other nodes attached to the LAN in a single | |||
| instance of the BGP-LS Link NLRI. Without this TLV, the | instance of the BGP-LS Link NLRI. Without this TLV, the | |||
| corresponding BGP-LS link NLRI would need to be originated for each | corresponding BGP-LS Link NLRI would need to be originated for each | |||
| additional adjacency in order to advertise the SR TLVs for these | additional adjacency in order to advertise the SR TLVs for these | |||
| neighbor adjacencies. | neighbor adjacencies. | |||
| This information is derived from LAN-Adj-SID sub-TLV of IS-IS | This information is derived from the LAN-Adj-SID Sub-TLV of IS-IS | |||
| (section 2.2.2 of [RFC8667]) and LAN Adj-SID sub-TLV of OSPFv2 | (Section 2.2.2 of [RFC8667]), the LAN Adj-SID Sub-TLV of OSPFv2 | |||
| (section 6.2 of [RFC8665]) and OSPFv3 (section 7.2 of [RFC8666]). | (Section 6.2 of [RFC8665]), and the LAN Adj-SID Sub-TLV of OSPFv3 | |||
| (Section 7.2 of [RFC8666]). | ||||
| The LAN Adjacency SID TLV has the following format: | The LAN Adjacency SID TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Weight | Reserved | | | Flags | Weight | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | OSPF Neighbor ID / IS-IS System-ID | | | OSPF Neighbor ID / IS-IS System ID | | |||
| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label/Index (variable) // | | SID/Label/Index (variable) // | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| Figure 8: LAN Adjacency SID TLV Format | Figure 8: LAN Adjacency SID TLV Format | |||
| Where: | Where: | |||
| Type: 1100 | Type: 1100 | |||
| Length: Variable. For IS-IS it would be 13 or 14 depending on | Length: Variable. For IS-IS, it would be 13 or 14 octets depending | |||
| Label or Index encoding of the SID. For OSPF it would be 11 or 12 | on the label or index encoding of the SID. For OSPF, it would be | |||
| depending on Label or Index encoding of the SID. | 11 or 12 octets depending on the label or index encoding of the | |||
| SID. | ||||
| Flags. 1 octet value which should be set as: | Flags: 1-octet value that should be set as: | |||
| * IS-IS LAN Adj-SID flags are defined in section 2.2.2 of | * IS-IS LAN Adj-SID flags as defined in Section 2.2.2 of | |||
| [RFC8667]. | [RFC8667]. | |||
| * OSPFv2 LAN Adj-SID flags are defined in section 6.2 of | * OSPFv2 LAN Adj-SID flags as defined in Section 6.2 of | |||
| [RFC8665]. | [RFC8665]. | |||
| * OSPFv3 LAN Adj-SID flags are defined in section 7.2 of | * OSPFv3 LAN Adj-SID flags as defined in Section 7.2 of | |||
| [RFC8666]. | [RFC8666]. | |||
| Weight: 1 octet carrying the weight used for load-balancing | Weight: 1 octet carrying the weight used for load-balancing | |||
| purposes. The use of weight is described in section 3.4 of | purposes. The use of weight is described in Section 3.4 of | |||
| [RFC8402]. | [RFC8402]. | |||
| Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | |||
| Neighbor ID: 6 octets for IS-IS for the System-ID and 4 octets for | Neighbor ID: 6 octets for IS-IS for the System ID, and 4 octets for | |||
| OSPF for the OSPF Router-ID of the neighbor. | OSPF for the OSPF Router-ID of the neighbor. | |||
| SID/Index/Label: | SID/Index/Label: | |||
| * IS-IS: Label or index value as defined in section 2.2.2 of | IS-IS: Label or index value as defined in Section 2.2.2 of | |||
| [RFC8667]. | [RFC8667]. | |||
| * OSPFv2: Label or index value as defined in section 6.2 of | OSPFv2: Label or index value as defined in Section 6.2 of | |||
| [RFC8665]. | [RFC8665]. | |||
| * OSPFv3: Label or index value as defined in section 7.2 of | OSPFv3: Label or index value as defined in Section 7.2 of | |||
| [RFC8666]. | [RFC8666]. | |||
| The Neighbor ID, Flags and, as an extension, the SID/Index/Label | The Neighbor ID, Flags, and, as an extension, the SID/Index/Label | |||
| fields of this TLV are interpreted according to the respective | fields of this TLV are interpreted according to the respective | |||
| underlying IS-IS, OSPFv2 or OSPFv3 protocol. The Protocol-ID of the | underlying IS-IS, OSPFv2, or OSPFv3 protocol. The Protocol-ID of the | |||
| BGP-LS Link NLRI is used to determine the underlying protocol | BGP-LS Link NLRI is used to determine the underlying protocol | |||
| specification for parsing these fields. | specification for parsing these fields. | |||
| 2.2.3. L2 Bundle Member Attribute TLV | 2.2.3. L2 Bundle Member Attributes TLV | |||
| The L2 Bundle Member Attribute TLV identifies an L2 Bundle Member | The L2 Bundle Member Attributes TLV identifies an L2 Bundle Member | |||
| link which in turn is associated with a parent L3 link. The L3 link | link, which in turn is associated with a parent L3 link. The L3 link | |||
| is described by the Link NLRI defined in [RFC7752] and the L2 Bundle | is described by the Link NLRI defined in [RFC7752], and the L2 Bundle | |||
| Member Attribute TLV is associated with the Link NLRI. The TLV MAY | Member Attributes TLV is associated with the Link NLRI. The TLV MAY | |||
| include sub-TLVs which describe attributes associated with the bundle | include sub-TLVs that describe attributes associated with the bundle | |||
| member. The identified bundle member represents a unidirectional | member. The identified bundle member represents a unidirectional | |||
| path from the originating router to the neighbor specified in the | path from the originating router to the neighbor specified in the | |||
| parent L3 Link. Multiple L2 Bundle Member Attribute TLVs MAY be | parent L3 link. Multiple L2 Bundle Member Attributes TLVs MAY be | |||
| associated with a Link NLRI. | associated with a Link NLRI. | |||
| This information is derived from L2 Bundle Member Attributes TLV of | This information is derived from L2 Bundle Member Attributes TLV of | |||
| IS-IS (section 2 of [RFC8668]). The equivalent functionality has not | IS-IS (Section 2 of [RFC8668]). The equivalent functionality has not | |||
| been specified as yet for OSPF. | been specified as yet for OSPF. | |||
| The L2 Bundle Member Attribute TLV has the following format: | The L2 Bundle Member Attributes TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | L2 Bundle Member Descriptor | | | L2 Bundle Member Descriptor | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Link attribute sub-TLVs(variable) // | | Link Attribute Sub-TLVs(variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 9: L2 Bundle Member Attributes TLV Format | Figure 9: L2 Bundle Member Attributes TLV Format | |||
| Where: | Where: | |||
| Type: 1172 | Type: 1172 | |||
| Length: Variable. | Length: Variable. | |||
| L2 Bundle Member Descriptor: 4 octets field that carries a Link | L2 Bundle Member Descriptor: 4-octet field that carries a link-local | |||
| Local Identifier as defined in [RFC4202]. | identifier as defined in [RFC4202]. | |||
| Link attributes for L2 Bundle Member Links are advertised as sub-TLVs | Link attributes for L2 Bundle Member links are advertised as sub-TLVs | |||
| of the L2 Bundle Member Attribute TLV. The sub-TLVs are identical to | of the L2 Bundle Member Attributes TLV. The sub-TLVs are identical | |||
| existing BGP-LS TLVs as identified in the table below. | to existing BGP-LS TLVs as identified in the table below. | |||
| +-------------+------------------------------------+----------------+ | +================+==========================+====================+ | |||
| | TLV Code | Description | Reference | | | TLV Code Point | Description | Reference Document | | |||
| | Point | | Document | | +================+==========================+====================+ | |||
| +-------------+------------------------------------+----------------+ | | 1088 | Administrative group | [RFC7752] | | |||
| | 1088 | Administrative group (color) | [RFC7752] | | | | (color) | | | |||
| | 1089 | Maximum link bandwidth | [RFC7752] | | +----------------+--------------------------+--------------------+ | |||
| | 1090 | Max. reservable link bandwidth | [RFC7752] | | | 1089 | Maximum link bandwidth | [RFC7752] | | |||
| | 1091 | Unreserved bandwidth | [RFC7752] | | +----------------+--------------------------+--------------------+ | |||
| | 1092 | TE default metric | [RFC7752] | | | 1090 | Max. reservable link | [RFC7752] | | |||
| | 1093 | Link protection type | [RFC7752] | | | | bandwidth | | | |||
| | 1099 | Adjacency Segment Identifier (Adj- | Section 2.2.1 | | +----------------+--------------------------+--------------------+ | |||
| | | SID) TLV | | | | 1091 | Unreserved bandwidth | [RFC7752] | | |||
| | 1100 | LAN Adjacency Segment Identifier | Section 2.2.2 | | +----------------+--------------------------+--------------------+ | |||
| | | (Adj-SID) TLV | | | | 1092 | TE default metric | [RFC7752] | | |||
| | 1114 | Unidirectional link delay | [RFC8571] | | +----------------+--------------------------+--------------------+ | |||
| | 1115 | Min/Max Unidirectional link delay | [RFC8571] | | | 1093 | Link protection type | [RFC7752] | | |||
| | 1116 | Unidirectional Delay Variation | [RFC8571] | | +----------------+--------------------------+--------------------+ | |||
| | 1117 | Unidirectional packet loss | [RFC8571] | | | 1099 | Adjacency Segment | Section 2.2.1 | | |||
| | 1118 | Unidirectional residual bandwidth | [RFC8571] | | | | Identifier (Adj-SID) TLV | | | |||
| | 1119 | Unidirectional available bandwidth | [RFC8571] | | +----------------+--------------------------+--------------------+ | |||
| | 1120 | Unidirectional bandwidth | [RFC8571] | | | 1100 | LAN Adjacency Segment | Section 2.2.2 | | |||
| | | utilization | | | | | Identifier (Adj-SID) TLV | | | |||
| +-------------+------------------------------------+----------------+ | +----------------+--------------------------+--------------------+ | |||
| | 1114 | Unidirectional link | [RFC8571] | | ||||
| | | delay | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1115 | Min/Max Unidirectional | [RFC8571] | | ||||
| | | link delay | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1116 | Unidirectional Delay | [RFC8571] | | ||||
| | | Variation | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1117 | Unidirectional Link Loss | [RFC8571] | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1118 | Unidirectional residual | [RFC8571] | | ||||
| | | bandwidth | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1119 | Unidirectional available | [RFC8571] | | ||||
| | | bandwidth | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| | 1120 | Unidirectional Utilized | [RFC8571] | | ||||
| | | Bandwidth | | | ||||
| +----------------+--------------------------+--------------------+ | ||||
| Table 3: BGP-LS Attribute TLVs also used as sub-TLVs of L2 Bundle | Table 3: BGP-LS Attribute TLVs are also used as sub-TLVs of | |||
| Member Attribute TLV | the L2 Bundle Member Attributes TLV | |||
| 2.3. Prefix Attribute TLVs | 2.3. Prefix Attribute TLVs | |||
| The following Prefix Attribute TLVs are defined: | The following Prefix Attribute TLVs are defined: | |||
| +------------------+--------------------------+---------------+ | +======+==========================+===============+ | |||
| | Type | Description | Section | | | Type | Description | Section | | |||
| +------------------+--------------------------+---------------+ | +======+==========================+===============+ | |||
| | 1158 | Prefix SID | Section 2.3.1 | | | 1158 | Prefix-SID | Section 2.3.1 | | |||
| | 1159 | Range | Section 2.3.5 | | +------+--------------------------+---------------+ | |||
| | 1170 | Prefix Attribute Flags | Section 2.3.2 | | | 1159 | Range | Section 2.3.5 | | |||
| | 1171 | Source Router Identifier | Section 2.3.3 | | +------+--------------------------+---------------+ | |||
| | 1174 (suggested) | Source OSPF Router-ID | Section 2.3.4 | | | 1170 | Prefix Attribute Flags | Section 2.3.2 | | |||
| +------------------+--------------------------+---------------+ | +------+--------------------------+---------------+ | |||
| | 1171 | Source Router Identifier | Section 2.3.3 | | ||||
| +------+--------------------------+---------------+ | ||||
| | 1174 | Source OSPF Router-ID | Section 2.3.4 | | ||||
| +------+--------------------------+---------------+ | ||||
| Table 4: Prefix Attribute TLVs | Table 4: Prefix Attribute TLVs | |||
| These TLVs should only be added to the BGP-LS Attribute associated | These TLVs should only be added to the BGP-LS Attribute associated | |||
| with the Prefix NLRI describing the prefix of the IGP node that is | with the Prefix NLRI that describes the prefix of the IGP node that | |||
| originating the corresponding IGP TLV/sub-TLV described below. | is originating the corresponding IGP TLV/sub-TLV described below. | |||
| 2.3.1. Prefix SID TLV | 2.3.1. Prefix-SID TLV | |||
| The Prefix SID TLV is used in order to advertise information related | The Prefix-SID TLV is used in order to advertise information related | |||
| to a Prefix SID. This information is derived from Prefix-SID sub-TLV | to a Prefix-SID. This information is derived from the Prefix-SID | |||
| of IS-IS (section 2.1 of [RFC8667]) and the Prefix SID sub-TLV of | Sub-TLV of IS-IS (Section 2.1 of [RFC8667]), the Prefix-SID Sub-TLV | |||
| OSPFv2 (section 5 of [RFC8665]) and OSPFv3 (section 6 of [RFC8666]). | of OSPFv2 (Section 5 of [RFC8665]), and the Prefix-SID Sub-TLV of | |||
| OSPFv3 (Section 6 of [RFC8666]). | ||||
| The Prefix SID TLV has the following format: | The Prefix-SID TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Algorithm | Reserved | | | Flags | Algorithm | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Index/Label (variable) // | | SID/Index/Label (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 10: Prefix SID TLV Format | Figure 10: Prefix-SID TLV Format | |||
| Where: | Where: | |||
| Type: 1158 | Type: 1158 | |||
| Length: Variable. 7 or 8 depending on Label or Index encoding of | Length: Variable. 7 or 8 octets depending on the label or index | |||
| the SID | encoding of the SID. | |||
| Flags: 1 octet value which should be set as: | Flags: 1-octet value that should be set as: | |||
| * IS-IS Prefix SID flags are defined in section 2.1.1 of | * IS-IS Prefix-SID flags as defined in Section 2.1.1 of | |||
| [RFC8667]. | [RFC8667]. | |||
| * OSPFv2 Prefix SID flags are defined in section 5 of [RFC8665]. | * OSPFv2 Prefix-SID flags as defined in Section 5 of [RFC8665]. | |||
| * OSPFv3 Prefix SID flags are defined in section 6 of [RFC8666]. | * OSPFv3 Prefix-SID flags as defined in Section 6 of [RFC8665]. | |||
| Algorithm: 1 octet value identify the algorithm. The semantics of | Algorithm: 1-octet value identifies the algorithm. The semantics of | |||
| algorithm are described in section 3.1.1 of [RFC8402]. | the algorithm are described in Section 3.1.1 of [RFC8402]. | |||
| Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | Reserved: 2 octets that MUST be set to 0 and ignored on receipt. | |||
| SID/Index/Label: | SID/Index/Label: | |||
| * IS-IS: Label or index value as defined in section 2.1 of | IS-IS: Label or index value as defined in Section 2.1 of | |||
| [RFC8667]. | [RFC8667]. | |||
| * OSPFv2: Label or index value as defined in section 5 of | OSPFv2: Label or index value as defined in Section 5 of | |||
| [RFC8665]. | [RFC8665]. | |||
| * OSPFv3: Label or index value as defined in section 6 of | OSPFv3: Label or index value as defined in Section 6 of | |||
| [RFC8666]. | [RFC8666]. | |||
| The Flags and, as an extension, the SID/Index/Label fields of this | The Flags and, as an extension, the SID/Index/Label fields of this | |||
| TLV are interpreted according to the respective underlying IS-IS, | TLV are interpreted according to the respective underlying IS-IS, | |||
| OSPFv2 or OSPFv3 protocol. The Protocol-ID of the BGP-LS Prefix NLRI | OSPFv2, or OSPFv3 protocol. The Protocol-ID of the BGP-LS Prefix | |||
| is used to determine the underlying protocol specification for | NLRI is used to determine the underlying protocol specification for | |||
| parsing these fields. | parsing these fields. | |||
| 2.3.2. Prefix Attribute Flags TLV | 2.3.2. Prefix Attribute Flags TLV | |||
| The Prefix Attribute Flags TLV carries IPv4/IPv6 prefix attribute | The Prefix Attribute Flags TLV carries IPv4/IPv6 prefix attribute | |||
| flags information. These flags are defined for OSPFv2 in section 2.1 | flags information. These flags are defined for OSPFv2 in Section 2.1 | |||
| of [RFC7684], for OSPFv3 in section A.4.1.1 of [RFC5340] and for IS- | of [RFC7684], OSPFv3 in Appendix A.4.1.1 of [RFC5340], and IS-IS in | |||
| IS in section 2.1 of [RFC7794]. | Section 2.1 of [RFC7794]. | |||
| The Prefix Attribute Flags TLV has the following format: | The Prefix Attribute Flags TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags (variable) // | | Flags (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 11: Prefix Attribute Flags TLV Format | Figure 11: Prefix Attribute Flags TLV Format | |||
| Where: | Where: | |||
| Type: 1170 | Type: 1170 | |||
| Length: Variable. | Length: Variable. | |||
| Flags: a variable length flag field (according to the length | Flags: a variable-length Flag field (according to the Length field). | |||
| field). Flags are routing protocol specific and are to be set as | Flags are routing protocol specific and are to be set as below: | |||
| below: | ||||
| * IS-IS flags correspond to the IPv4/IPv6 Extended Reachability | * IS-IS flags correspond to the IPv4/IPv6 Extended Reachability | |||
| Attribute Flags defined in section 2.1 of [RFC7794]. In the | Attribute Flags defined in Section 2.1 of [RFC7794]. In the | |||
| case of the X-flag when associated with IPv6 prefix | case of the X-flag when associated with IPv6 prefix | |||
| reachability, the setting corresponds to the setting of the | reachability, the setting corresponds to the setting of the | |||
| X-flag in the fixed format of IS-IS TLVs 236 [RFC5308] and 237 | X-flag in the fixed format of IS-IS TLVs 236 [RFC5308] and 237 | |||
| [RFC5120]. | [RFC5120]. | |||
| * OSPFv2 flags correspond to the Flags field of the OSPFv2 | * OSPFv2 flags correspond to the Flags field of the OSPFv2 | |||
| Extended Prefix TLV defined in section 2.1 of [RFC7684] | Extended Prefix TLV defined in Section 2.1 of [RFC7684]. | |||
| * OSPFv3 flags map to the Prefix Options field defined in section | * OSPFv3 flags map to the Prefix Options field defined in | |||
| A.4.1.1 of [RFC5340] and extended in section 3.1 of [RFC8362] | Appendix A.4.1.1 of [RFC5340] and extended in Section 3.1 of | |||
| [RFC8362]. | ||||
| The Flags field of this TLV is interpreted according to the | The Flags field of this TLV is interpreted according to the | |||
| respective underlying IS-IS, OSPFv2 or OSPFv3 protocol. The | respective underlying IS-IS, OSPFv2, or OSPFv3 protocol. The | |||
| Protocol-ID of the BGP-LS Prefix NLRI is used to determine the | Protocol-ID of the BGP-LS Prefix NLRI is used to determine the | |||
| underlying protocol specification for parsing this field. | underlying protocol specification for parsing this field. | |||
| 2.3.3. Source Router Identifier TLV | 2.3.3. Source Router Identifier TLV | |||
| The Source Router Identifier TLV contains the IPv4 or IPv6 Router | The Source Router Identifier TLV contains the IPv4 or IPv6 Router | |||
| Identifier of the originator of the Prefix. For the IS-IS protocol | Identifier of the originator of the prefix. For the IS-IS protocol, | |||
| this is derived from the IPv4/IPv6 Source Router ID sub-TLV as | this is derived from the IPv4/IPv6 Source Router ID Sub-TLV as | |||
| defined in section 2.2 of [RFC7794]. For the OSPF protocol, this is | defined in Section 2.2 of [RFC7794]. For the OSPF protocol, this is | |||
| derived from the Prefix Source Router Address sub-TLV as defined in | derived from the Prefix Source Router Address Sub-TLV as defined in | |||
| section 2.2 of [I-D.ietf-lsr-ospf-prefix-originator]. | Section 2.2 of [RFC9084]. | |||
| The Source Router Identifier TLV has the following format: | The Source Router Identifier TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 4 or 16 octet Router Identifier // | | 4- or 16-octet Router Identifier // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 12: Source Router Identifier TLV Format | Figure 12: Source Router Identifier TLV Format | |||
| Where: | Where: | |||
| Type: 1171 | Type: 1171 | |||
| Length: Variable. 4 or 16 for IPv4 and IPv6 prefix respectively. | Length: Variable. 4 or 16 octets for the IPv4 or IPv6 prefix, | |||
| respectively. | ||||
| Router-ID: the IPv4 or IPv6 Router-ID in case of IS-IS and the | Router-ID: the IPv4 or IPv6 Router-ID in the case of IS-IS, and the | |||
| IPv4 or IPv6 Router Address in the case of OSPF. | IPv4 or IPv6 Router Address in the case of OSPF. | |||
| 2.3.4. Source OSPF Router-ID TLV | 2.3.4. Source OSPF Router-ID TLV | |||
| The Source OSPF Router-ID TLV is applicable only for the OSPF | The Source OSPF Router-ID TLV is applicable only for the OSPF | |||
| protocol and contains OSPF Router-ID of the originator of the Prefix. | protocol and contains the OSPF Router-ID of the originator of the | |||
| It is derived from the Prefix Source OSPF Router-ID sub-TLV as | prefix. It is derived from the Prefix Source OSPF Router-ID Sub-TLV | |||
| defined in section 2.1 of [I-D.ietf-lsr-ospf-prefix-originator]. | as defined in Section 2.1 of [RFC9084]. | |||
| The Source OSPF Router-ID TLV has the following format: | The Source OSPF Router-ID TLV has the following format: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 4 octet OSPF Router-ID // | | 4-octet OSPF Router-ID // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 13: Source OSPF Router-ID TLV Format | Figure 13: Source OSPF Router-ID TLV Format | |||
| Where: | Where: | |||
| Type: 1174 (suggested) | Type: 1174 | |||
| Length: 4 | Length: 4 octets | |||
| OSPF Router-ID: the OSPF Router-ID of the node originating the | OSPF Router-ID: the OSPF Router-ID of the node originating the | |||
| prefix. | prefix. | |||
| 2.3.5. Range TLV | 2.3.5. Range TLV | |||
| The Range TLV is used in order to advertise a range of prefix-to-SID | The Range TLV is used in order to advertise a range of prefix-to-SID | |||
| mappings as part of the Segment Routing Mapping Server (SRMS) | mappings as part of the SRMS functionality [RFC8661], as defined in | |||
| functionality [RFC8661], as defined in the respective underlying IGP | the respective underlying IGP SR extensions: Section 4 of [RFC8665], | |||
| SR extensions [RFC8665] (section 4), [RFC8666] (section 5) and | Section 5 of [RFC8666], and Section 2.4 of [RFC8667]. The | |||
| [RFC8667] (section 2.4). The information advertised in the Range TLV | information advertised in the Range TLV is derived from the SID/Label | |||
| is derived from the SID/Label Binding TLV in the case of IS-IS and | Binding TLV in the case of IS-IS and the OSPFv2/OSPFv3 Extended | |||
| the OSPFv2/OSPFv3 Extended Prefix Range TLV in the case of OSPFv2/ | Prefix Range TLV in the case of OSPFv2/OSPFv3. | |||
| OSPFv3. | ||||
| A Prefix NLRI, that been advertised with a Range TLV, is considered a | A Prefix NLRI, that has been advertised with a Range TLV, is | |||
| normal routing prefix (i.e. prefix reachability) only when there is | considered a normal routing prefix (i.e., prefix reachability) only | |||
| also an IGP metric TLV (TLV 1095) associated it. Otherwise, it is | when there is also an IGP metric TLV (TLV 1095) associated it. | |||
| considered only as the first prefix in the range for prefix-to-SID | Otherwise, it is considered only as the first prefix in the range for | |||
| mapping advertisement. | prefix-to-SID mapping advertisement. | |||
| The format of the Range TLV is as follows: | The format of the Range TLV is as follows: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Reserved | Range Size | | | Flags | Reserved | Range Size | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-TLVs // | | sub-TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 14: Range TLV Format | Figure 14: Range TLV Format | |||
| Where: | Where: | |||
| Type: 1159 | Type: 1159 | |||
| Length: Variable. 11 or 12 depending on Label or Index encoding of | Length: Variable. 11 or 12 octets depending on the label or index | |||
| the SID | encoding of the SID. | |||
| Flags: 1 octet value which should be set as: | Flags: 1-octet value that should be set as: | |||
| * IS-IS SID/Label Binding TLV flags are defined in section 2.4.1 | * IS-IS SID/Label Binding TLV flags as defined in Section 2.4.1 | |||
| of [RFC8667]. | of [RFC8667]. | |||
| * OSPFv2 OSPF Extended Prefix Range TLV flags are defined in | * OSPFv2 OSPF Extended Prefix Range TLV flags as defined in | |||
| section 4 of [RFC8665]. | Section 4 of [RFC8665]. | |||
| * OSPFv3 Extended Prefix Range TLV flags are defined in section 5 | * OSPFv3 Extended Prefix Range TLV flags as defined in Section 5 | |||
| of [RFC8666]. | of [RFC8666]. | |||
| Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | Reserved: 1 octet that MUST be set to 0 and ignored on receipt. | |||
| Range Size: 2 octets that carry the number of prefixes that are | Range Size: 2 octets that carry the number of prefixes that are | |||
| covered by the advertisement.. | covered by the advertisement. | |||
| The Flags field of this TLV is interpreted according to the | The Flags field of this TLV is interpreted according to the | |||
| respective underlying IS-IS, OSPFv2 or OSPFv3 protocol. The | respective underlying IS-IS, OSPFv2, or OSPFv3 protocol. The | |||
| Protocol-ID of the BGP-LS Prefix NLRI is used to determine the | Protocol-ID of the BGP-LS Prefix NLRI is used to determine the | |||
| underlying protocol specification for parsing this field. | underlying protocol specification for parsing this field. | |||
| The prefix-to-SID mappings are advertised using sub-TLVs as below: | The prefix-to-SID mappings are advertised using sub-TLVs as below: | |||
| IS-IS: | IS-IS: | |||
| SID/Label Range TLV | SID/Label Range TLV | |||
| Prefix-SID sub-TLV | Prefix-SID Sub-TLV | |||
| OSPFv2/OSPFv3: | OSPFv2/OSPFv3: | |||
| OSPFv2/OSPFv3 Extended Prefix Range TLV | OSPFv2/OSPFv3 Extended Prefix Range TLV | |||
| Prefix SID sub-TLV | Prefix-SID Sub-TLV | |||
| BGP-LS: | BGP-LS: | |||
| Range TLV | Range TLV | |||
| Prefix-SID TLV (used as a sub-TLV in this context) | Prefix-SID TLV (used as a sub-TLV in this context) | |||
| The prefix-to-SID mapping information for the BGP-LS Prefix-SID TLV | The prefix-to-SID mapping information for the BGP-LS Prefix-SID TLV | |||
| (used as sub-TLV in this context) is encoded as described in | (used as a sub-TLV in this context) is encoded as described in | |||
| Section 2.3.1. | Section 2.3.1. | |||
| 2.4. Equivalent IS-IS Segment Routing TLVs/Sub-TLVs | 2.4. Equivalent IS-IS Segment Routing TLVs/Sub-TLVs | |||
| This section illustrate the IS-IS Segment Routing Extensions TLVs and | This section illustrates the IS-IS Segment Routing Extensions TLVs | |||
| sub-TLVs mapped to the ones defined in this document. | and sub-TLVs mapped to the ones defined in this document. | |||
| The following table, illustrates for each BGP-LS TLV, its equivalence | For each BGP-LS TLV, the following table illustrates its equivalence | |||
| in IS-IS. | in IS-IS. | |||
| +----------------------+--------------------------------+-----------+ | +========================+==============================+===========+ | |||
| | Description | IS-IS TLV/sub-TLV | Reference | | | Description | IS-IS TLV/sub-TLV | Reference | | |||
| +----------------------+--------------------------------+-----------+ | +========================+==============================+===========+ | |||
| | SR Capabilities | SR-Capabilities sub-TLV (2) | [RFC8667] | | | SR Capabilities | SR-Capabilities Sub-TLV (2) | [RFC8667] | | |||
| | SR Algorithm | SR-Algorithm sub-TLV (19) | [RFC8667] | | +------------------------+------------------------------+-----------+ | |||
| | SR Local Block | SR Local Block sub-TLV (22) | [RFC8667] | | | SR Algorithm | SR-Algorithm Sub-TLV (19) | [RFC8667] | | |||
| | SRMS Preference | SRMS Preference sub-TLV (19) | [RFC8667] | | +------------------------+------------------------------+-----------+ | |||
| | Adjacency SID | Adj-SID sub-TLV (31) | [RFC8667] | | | SR Local Block | SR Local Block Sub-TLV (22) | [RFC8667] | | |||
| | LAN Adjacency SID | LAN-Adj-SID sub-TLV (32) | [RFC8667] | | +------------------------+------------------------------+-----------+ | |||
| | Prefix SID | Prefix-SID sub-TLV (3) | [RFC8667] | | | SRMS Preference | SRMS Preference Sub-TLV (19) | [RFC8667] | | |||
| | Range | SID/Label Binding TLV (149) | [RFC8667] | | +------------------------+------------------------------+-----------+ | |||
| | SID/Label | SID/Label sub-TLV (1) | [RFC8667] | | | Adjacency SID | Adj-SID Sub-TLV (31) | [RFC8667] | | |||
| | Prefix Attribute | Prefix Attributes Flags sub- | [RFC7794] | | +------------------------+------------------------------+-----------+ | |||
| | Flags | TLV (4) | | | | LAN Adjacency SID | LAN-Adj-SID Sub-TLV (32) | [RFC8667] | | |||
| | Source Router | IPv4/IPv6 Source Router ID | [RFC7794] | | +------------------------+------------------------------+-----------+ | |||
| | Identifier | sub-TLV (11/12) | | | | Prefix-SID | Prefix-SID Sub-TLV (3) | [RFC8667] | | |||
| | L2 Bundle Member | L2 Bundle Member Attributes | [RFC8668] | | +------------------------+------------------------------+-----------+ | |||
| | Attributes | TLV (25) | | | | Range | SID/Label Binding TLV (149) | [RFC8667] | | |||
| +----------------------+--------------------------------+-----------+ | +------------------------+------------------------------+-----------+ | |||
| | SID/Label | SID/Label Sub-TLV (1) | [RFC8667] | | ||||
| +------------------------+------------------------------+-----------+ | ||||
| | Prefix Attribute | Prefix Attribute Flags Sub- | [RFC7794] | | ||||
| | Flags | TLV (4) | | | ||||
| +------------------------+------------------------------+-----------+ | ||||
| | Source Router | IPv4/IPv6 Source Router ID | [RFC7794] | | ||||
| | Identifier | Sub-TLV (11/12) | | | ||||
| +------------------------+------------------------------+-----------+ | ||||
| | L2 Bundle Member | L2 Bundle Member Attributes | [RFC8668] | | ||||
| | Attributes | TLV (25) | | | ||||
| +------------------------+------------------------------+-----------+ | ||||
| Table 5: IS-IS Segment Routing Extensions TLVs/Sub-TLVs | Table 5: IS-IS Segment Routing Extensions TLVs/Sub-TLVs | |||
| 2.5. Equivalent OSPFv2/OSPFv3 Segment Routing TLVs/Sub-TLVs | 2.5. Equivalent OSPFv2/OSPFv3 Segment Routing TLVs/Sub-TLVs | |||
| This section illustrate the OSPFv2 and OSPFv3 Segment Routing | This section illustrates the OSPFv2 and OSPFv3 Segment Routing | |||
| Extensions TLVs and sub-TLVs mapped to the ones defined in this | Extensions TLVs and sub-TLVs mapped to the ones defined in this | |||
| document. | document. | |||
| The following table, illustrates for each BGP-LS TLV, its equivalence | For each BGP-LS TLV, the following tables illustrate its equivalence | |||
| in OSPFv2 and OSPFv3. | in OSPFv2 and OSPFv3. | |||
| +-------------+--------------+--------------------------------------+ | +===================+==========================+===========+ | |||
| | Description | OSPFv2 | Reference | | | Description | OSPFv2 TLV/sub-TLV | Reference | | |||
| | | TLV/sub-TLV | | | +===================+==========================+===========+ | |||
| +-------------+--------------+--------------------------------------+ | | SR Capabilities | SID/Label Range TLV (9) | [RFC8665] | | |||
| | SR Capabili | SID/Label | [RFC8665] | | +-------------------+--------------------------+-----------+ | |||
| | ties | Range TLV | | | | SR Algorithm | SR-Algorithm TLV (8) | [RFC8665] | | |||
| | | (9) | | | +-------------------+--------------------------+-----------+ | |||
| | SR | SR-Algorithm | [RFC8665] | | | SR Local Block | SR Local Block TLV (14) | [RFC8665] | | |||
| | Algorithm | TLV (8) | | | +-------------------+--------------------------+-----------+ | |||
| | SR Local | SR Local | [RFC8665] | | | SRMS Preference | SRMS Preference TLV (15) | [RFC8665] | | |||
| | Block | Block TLV | | | +-------------------+--------------------------+-----------+ | |||
| | | (14) | | | | Adjacency SID | Adj-SID Sub-TLV (2) | [RFC8665] | | |||
| | SRMS | SRMS | [RFC8665] | | +-------------------+--------------------------+-----------+ | |||
| | Preference | Preference | | | | LAN Adjacency SID | LAN Adj-SID Sub-TLV (3) | [RFC8665] | | |||
| | | TLV (15) | | | +-------------------+--------------------------+-----------+ | |||
| | Adjacency | Adj-SID sub- | [RFC8665] | | | Prefix-SID | Prefix-SID Sub-TLV (2) | [RFC8665] | | |||
| | SID | TLV (2) | | | +-------------------+--------------------------+-----------+ | |||
| | LAN | LAN Adj-SID | [RFC8665] | | | Range | OSPF Extended Prefix | [RFC8665] | | |||
| | Adjacency | sub-TLV (3) | | | | | Range TLV (2) | | | |||
| | SID | | | | +-------------------+--------------------------+-----------+ | |||
| | Prefix SID | Prefix SID | [RFC8665] | | | SID/Label | SID/Label Sub-TLV (1) | [RFC8665] | | |||
| | | sub-TLV (2) | | | +-------------------+--------------------------+-----------+ | |||
| | Range | OSPF | [RFC8665] | | | Prefix Attribute | Flags of OSPFv2 Extended | [RFC7684] | | |||
| | | Extended | | | | Flags | Prefix TLV (1) | | | |||
| | | Prefix Range | | | +-------------------+--------------------------+-----------+ | |||
| | | TLV (2) | | | | Source Router | Prefix Source Router | [RFC9084] | | |||
| | SID/Label | SID/Label | [RFC8665] | | | Identifier | Address Sub-TLV (5) | | | |||
| | | sub-TLV (1) | | | +-------------------+--------------------------+-----------+ | |||
| | Prefix | Flags of | [RFC7684] | | | Source OSPF | Prefix Source OSPF | [RFC9084] | | |||
| | Attribute | OSPFv2 | | | | Router-ID | Router-ID Sub-TLV (4) | | | |||
| | Flags | Extended | | | +-------------------+--------------------------+-----------+ | |||
| | | Prefix TLV | | | ||||
| | | (1) | | | ||||
| | Source | Prefix | [I-D.ietf-lsr-ospf-prefix-originator | | ||||
| | Router | Source | ] | | ||||
| | Identifier | Router-ID | | | ||||
| | | sub-TLV (4) | | | ||||
| | Source OSPF | Prefix | [I-D.ietf-lsr-ospf-prefix-originator | | ||||
| | Router-ID | Source OSPF | ] | | ||||
| | | Router-ID | | | ||||
| | | sub-TLV (5) | | | ||||
| +-------------+--------------+--------------------------------------+ | ||||
| Table 6: OSPFv2 Segment Routing Extensions TLVs/Sub-TLVs | Table 6: OSPFv2 Segment Routing Extensions TLVs/Sub-TLVs | |||
| +-------------+--------------+--------------------------------------+ | +===================+==========================+===========+ | |||
| | Description | OSPFv3 | Reference | | | Description | OSPFv3 TLV/sub-TLV | Reference | | |||
| | | TLV/sub-TLV | | | +===================+==========================+===========+ | |||
| +-------------+--------------+--------------------------------------+ | | SR Capabilities | SID/Label Range TLV (9) | [RFC8665] | | |||
| | SR Capabili | SID/Label | [RFC8665] | | +-------------------+--------------------------+-----------+ | |||
| | ties | Range TLV | | | | SR Algorithm | SR-Algorithm TLV (8) | [RFC8665] | | |||
| | | (9) | | | +-------------------+--------------------------+-----------+ | |||
| | SR | SR-Algorithm | [RFC8665] | | | SR Local Block | SR Local Block TLV (14) | [RFC8665] | | |||
| | Algorithm | TLV (8) | | | +-------------------+--------------------------+-----------+ | |||
| | SR Local | SR Local | [RFC8665] | | | SRMS Preference | SRMS Preference TLV (15) | [RFC8665] | | |||
| | Block | Block TLV | | | +-------------------+--------------------------+-----------+ | |||
| | | (14) | | | | Adjacency SID | Adj-SID Sub-TLV (5) | [RFC8666] | | |||
| | SRMS | SRMS | [RFC8665] | | +-------------------+--------------------------+-----------+ | |||
| | Preference | Preference | | | | LAN Adjacency SID | LAN Adj-SID Sub-TLV (6) | [RFC8666] | | |||
| | | TLV (15) | | | +-------------------+--------------------------+-----------+ | |||
| | Adjacency | Adj-SID sub- | [RFC8666] | | | Prefix-SID | Prefix-SID Sub-TLV (4) | [RFC8666] | | |||
| | SID | TLV (5) | | | +-------------------+--------------------------+-----------+ | |||
| | LAN | LAN Adj-SID | [RFC8666] | | | Range | OSPFv3 Extended Prefix | [RFC8666] | | |||
| | Adjacency | sub-TLV (6) | | | | | Range TLV (9) | | | |||
| | SID | | | | +-------------------+--------------------------+-----------+ | |||
| | Prefix SID | Prefix SID | [RFC8666] | | | SID/Label | SID/Label Sub-TLV (7) | [RFC8666] | | |||
| | | sub-TLV (4) | | | +-------------------+--------------------------+-----------+ | |||
| | Range | OSPFv3 | [RFC8666] | | | Prefix Attribute | Prefix Option Fields of | [RFC8362] | | |||
| | | Extended | | | | Flags | Prefix TLV types 3,5,6 | | | |||
| | | Prefix Range | | | +-------------------+--------------------------+-----------+ | |||
| | | TLV (9) | | | | Source OSPF | Prefix Source Router | [RFC9084] | | |||
| | SID/Label | SID/Label | [RFC8666] | | | Router Identifier | Address Sub-TLV (28) | | | |||
| | | sub-TLV (7) | | | +-------------------+--------------------------+-----------+ | |||
| | Prefix | Prefix | [RFC8362] | | | Source OSPF | Prefix Source OSPF | [RFC9084] | | |||
| | Attribute | Option | | | | Router-ID | Router-ID Sub-TLV (27) | | | |||
| | Flags | Fields of | | | +-------------------+--------------------------+-----------+ | |||
| | | Prefix TLV | | | ||||
| | | types 3,5,6 | | | ||||
| | Source OSPF | Prefix | [I-D.ietf-lsr-ospf-prefix-originator | | ||||
| | Router | Source | ] | | ||||
| | Identifier | Router-ID | | | ||||
| | | sub-TLV (27) | | | ||||
| | Source OSPF | Prefix | [I-D.ietf-lsr-ospf-prefix-originator | | ||||
| | Router-ID | Source OSPF | ] | | ||||
| | | Router-ID | | | ||||
| | | sub-TLV (28) | | | ||||
| +-------------+--------------+--------------------------------------+ | ||||
| Table 7: OSPFv3 Segment Routing Extensions TLVs/Sub-TLVs | Table 7: OSPFv3 Segment Routing Extensions TLVs/Sub-TLVs | |||
| 3. IANA Considerations | 3. IANA Considerations | |||
| Early allocation of codepoints has been done by IANA for this | IANA has registered the following code points in the "BGP-LS Node | |||
| document from the registry "BGP-LS Node Descriptor, Link Descriptor, | Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" | |||
| Prefix Descriptor, and Attribute TLVs" under the "BGP-LS Parameters" | registry under the "Border Gateway Protocol - Link State (BGP-LS) | |||
| registry based on Table 8. The column "IS-IS TLV/Sub-TLV" defined in | Parameter" registry based on Table 8. The column "IS-IS TLV/Sub-TLV" | |||
| the registry does not require any value and should be left empty. | defined in the registry does not require any value and should be left | |||
| empty. | ||||
| 3.1. TLV/Sub-TLV Code Points Summary | 3.1. TLV/Sub-TLV Code Points Summary | |||
| This section contains the global table of all TLVs/sub-TLVs defined | This section contains the global table of all TLVs/sub-TLVs defined | |||
| in this document. | in this document. | |||
| +------------------+-----------------------------+---------------+ | +================+=============================+===============+ | |||
| | TLV Code Point | Description | Reference | | | TLV Code Point | Description | Reference | | |||
| +------------------+-----------------------------+---------------+ | +================+=============================+===============+ | |||
| | 1034 | SR Capabilities | Section 2.1.2 | | | 1034 | SR Capabilities | Section 2.1.2 | | |||
| | 1035 | SR Algorithm | Section 2.1.3 | | +----------------+-----------------------------+---------------+ | |||
| | 1036 | SR Local Block | Section 2.1.4 | | | 1035 | SR Algorithm | Section 2.1.3 | | |||
| | 1037 | SRMS Preference | Section 2.1.5 | | +----------------+-----------------------------+---------------+ | |||
| | 1099 | Adjacency SID | Section 2.2.1 | | | 1036 | SR Local Block | Section 2.1.4 | | |||
| | 1100 | LAN Adjacency SID | Section 2.2.2 | | +----------------+-----------------------------+---------------+ | |||
| | 1158 | Prefix SID | Section 2.3.1 | | | 1037 | SRMS Preference | Section 2.1.5 | | |||
| | 1159 | Range | Section 2.3.5 | | +----------------+-----------------------------+---------------+ | |||
| | 1161 | SID/Label | Section 2.1.1 | | | 1099 | Adjacency SID | Section 2.2.1 | | |||
| | 1170 | Prefix Attribute Flags | Section 2.3.2 | | +----------------+-----------------------------+---------------+ | |||
| | 1171 | Source Router Identifier | Section 2.3.3 | | | 1100 | LAN Adjacency SID | Section 2.2.2 | | |||
| | 1172 | L2 Bundle Member Attributes | Section 2.2.3 | | +----------------+-----------------------------+---------------+ | |||
| | 1174 (suggested) | Source OSPF Router-ID | Section 2.3.4 | | | 1158 | Prefix-SID | Section 2.3.1 | | |||
| +------------------+-----------------------------+---------------+ | +----------------+-----------------------------+---------------+ | |||
| | 1159 | Range | Section 2.3.5 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| | 1161 | SID/Label | Section 2.1.1 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| | 1170 | Prefix Attribute Flags | Section 2.3.2 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| | 1171 | Source Router Identifier | Section 2.3.3 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| | 1172 | L2 Bundle Member Attributes | Section 2.2.3 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| | 1174 | Source OSPF Router-ID | Section 2.3.4 | | ||||
| +----------------+-----------------------------+---------------+ | ||||
| Table 8: Summary Table of TLV/Sub-TLV Codepoints | Table 8: Summary of TLV/Sub-TLV Code Points | |||
| 4. Manageability Considerations | 4. Manageability Considerations | |||
| This section is structured as recommended in [RFC5706]. | This section is structured as recommended in [RFC5706]. | |||
| The new protocol extensions introduced in this document augment the | The new protocol extensions introduced in this document augment the | |||
| existing IGP topology information that is distributed via [RFC7752]. | existing IGP topology information that is distributed via [RFC7752]. | |||
| Procedures and protocol extensions defined in this document do not | Procedures and protocol extensions defined in this document do not | |||
| affect the BGP protocol operations and management other than as | affect the BGP protocol operations and management other than as | |||
| discussed in the Manageability Considerations section of [RFC7752]. | discussed in the Manageability Considerations section of [RFC7752]. | |||
| Specifically, the malformed attribute tests for syntactic checks in | Specifically, the malformed attribute tests for syntactic checks in | |||
| the Fault Management section of [RFC7752] now encompass the new BGP- | the Fault Management section of [RFC7752] now encompass the new BGP- | |||
| LS Attribute TLVs defined in this document. The semantic or content | LS Attribute TLVs defined in this document. The semantic or content | |||
| checking for the TLVs specified in this document and their | checking for the TLVs specified in this document and their | |||
| association with the BGP-LS NLRI types or their BGP-LS Attribute is | association with the BGP-LS NLRI types or their BGP-LS Attribute is | |||
| left to the consumer of the BGP-LS information (e.g. an application | left to the consumer of the BGP-LS information (e.g., an application | |||
| or a controller) and not the BGP protocol. | or a controller) and not the BGP protocol. | |||
| A consumer of the BGP-LS information retrieves this information over | A consumer of the BGP-LS information retrieves this information over | |||
| a BGP-LS session (refer Section 1 and 2 of [RFC7752]). The handling | a BGP-LS session (refer to Sections 1 and 2 of [RFC7752]). The | |||
| of semantic or content errors by the consumer would be dictated by | handling of semantic or content errors by the consumer would be | |||
| the nature of its application usage and hence is beyond the scope of | dictated by the nature of its application usage and hence is beyond | |||
| this document. | the scope of this document. | |||
| This document only introduces new Attribute TLVs and any syntactic | This document only introduces new Attribute TLVs, and any syntactic | |||
| error in them would result in the BGP-LS Attribute being discarded | error in them would result in the BGP-LS Attribute being discarded | |||
| with an error log. The SR information introduced in BGP-LS by this | with an error log. The SR information introduced in BGP-LS by this | |||
| specification, may be used by BGP-LS consumer applications like a SR | specification may be used by BGP-LS consumer applications like an SR | |||
| path computation engine (PCE) to learn the SR capabilities of the | Path Computation Engine (PCE) to learn the SR capabilities of the | |||
| nodes in the topology and the mapping of SR segments to those nodes. | nodes in the topology and the mapping of SR segments to those nodes. | |||
| This can enable the SR PCE to perform path computations based on SR | This can enable the SR PCE to perform path computations based on SR | |||
| for traffic engineering use-cases and to steer traffic on paths | for traffic engineering use cases and to steer traffic on paths | |||
| different from the underlying IGP based distributed best path | different from the underlying IGP-based distributed best-path | |||
| computation. Errors in the encoding or decoding of the SR | computation. Errors in the encoding or decoding of the SR | |||
| information may result in the unavailability of such information to | information may result in the unavailability of such information to | |||
| the SR PCE or incorrect information being made available to it. This | the SR PCE or incorrect information being made available to it. This | |||
| may result in the SR PCE not being able to perform the desired SR | may result in the SR PCE not being able to perform the desired SR- | |||
| based optimization functionality or to perform it in an unexpected or | based optimization functionality or to perform it in an unexpected or | |||
| inconsistent manner. The handling of such errors by applications | inconsistent manner. The handling of such errors by applications | |||
| like SR PCE may be implementation specific and out of scope of this | like SR PCE may be implementation specific and out of scope of this | |||
| document. | document. | |||
| The extensions, specified in this document, do not introduce any new | The extensions, specified in this document, do not introduce any new | |||
| configuration or monitoring aspects in BGP or BGP-LS other than as | configuration or monitoring aspects in BGP or BGP-LS other than as | |||
| discussed in [RFC7752]. The manageability aspects of the underlying | discussed in [RFC7752]. The manageability aspects of the underlying | |||
| SR features are covered by [I-D.ietf-spring-sr-yang], | SR features are covered by [RFC9020], [ISIS-SR-YANG], and | |||
| [I-D.ietf-isis-sr-yang] and [I-D.ietf-ospf-sr-yang]. | [OSPF-SR-YANG]. | |||
| 5. Security Considerations | 5. Security Considerations | |||
| The new protocol extensions introduced in this document augment the | The new protocol extensions introduced in this document augment the | |||
| existing IGP topology information that is distributed via [RFC7752]. | existing IGP topology information that is distributed via [RFC7752]. | |||
| The advertisement of the SR link attribute information defined in | The advertisement of the SR link attribute information defined in | |||
| this document presents similar risk as associated with the existing | this document presents similar risk as associated with the existing | |||
| set of link attribute information as described in [RFC7752]. The | set of link attribute information as described in [RFC7752]. The | |||
| Security Considerations section of [RFC7752] also applies to these | Security Considerations section of [RFC7752] also applies to these | |||
| extensions. The procedures and new TLVs defined in this document, by | extensions. The procedures and new TLVs defined in this document, by | |||
| themselves, do not affect the BGP-LS security model discussed in | themselves, do not affect the BGP-LS security model discussed in | |||
| [RFC7752]. | [RFC7752]. | |||
| The TLVs introduced in this document are used to propagate IGP | The TLVs introduced in this document are used to propagate IGP- | |||
| defined information ([RFC8667], [RFC8665] and [RFC8666]). These TLVs | defined information (see [RFC8665], [RFC8666], and [RFC8667]). These | |||
| represent the SR information associated with the IGP node, link and | TLVs represent the SR information associated with the IGP node, link, | |||
| prefix. The IGP instances originating these TLVs are assumed to | and prefix. The IGP instances originating these TLVs are assumed to | |||
| support all the required security and authentication mechanisms (as | support all the required security and authentication mechanisms (as | |||
| described in [RFC8667], [RFC8665] and [RFC8666]) in order to prevent | described in [RFC8665], [RFC8666], and [RFC8667]) in order to prevent | |||
| any security issue when propagating the TLVs into BGP-LS. | any security issue when propagating the TLVs into BGP-LS. | |||
| BGP-LS SR extensions enable traffic engineering use-cases within the | BGP-LS SR extensions enable traffic engineering use cases within the | |||
| Segment Routing domain. SR operates within a trusted domain | SR domain. SR operates within a trusted domain [RFC8402], and its | |||
| [RFC8402] and its security considerations also apply to BGP-LS | security considerations also apply to BGP-LS sessions when carrying | |||
| sessions when carrying SR information. The SR traffic engineering | SR information. The SR traffic engineering policies using the SIDs | |||
| policies using the SIDs advertised via BGP-LS are expected to be used | advertised via BGP-LS are expected to be used entirely within this | |||
| entirely within this trusted SR domain (e.g. between multiple AS/ | trusted SR domain (e.g., between multiple ASes/domains within a | |||
| domains within a single provider network). Therefore, precaution is | single provider network). Therefore, precaution is necessary to | |||
| necessary to ensure that the link-state information (including SR | ensure that the link-state information (including SR information) | |||
| information) advertised via BGP-LS sessions is limited to consumers | advertised via BGP-LS sessions is limited to consumers in a secure | |||
| in a secure manner within this trusted SR domain. BGP peering | manner within this trusted SR domain. BGP peering sessions for | |||
| sessions for address-families other than Link-State may be setup to | address families other than link state may be set up to routers | |||
| routers outside the SR domain. The isolation of BGP-LS peering | outside the SR domain. The isolation of BGP-LS peering sessions is | |||
| sessions is recommended to ensure that BGP-LS topology information | recommended to ensure that BGP-LS topology information (including the | |||
| (including the newly added SR information) is not advertised to an | newly added SR information) is not advertised to an external BGP | |||
| external BGP peering session outside the SR domain. | peering session outside the SR domain. | |||
| 6. Contributors | ||||
| The following people have substantially contributed to the editing of | ||||
| this document: | ||||
| Peter Psenak | ||||
| Cisco Systems | ||||
| Email: ppsenak@cisco.com | ||||
| Les Ginsberg | ||||
| Cisco Systems | ||||
| Email: ginsberg@cisco.com | ||||
| Acee Lindem | ||||
| Cisco Systems | ||||
| Email: acee@cisco.com | ||||
| Saikat Ray | ||||
| Individual | ||||
| Email: raysaikat@gmail.com | ||||
| Jeff Tantsura | ||||
| Apstra Inc. | ||||
| Email: jefftant.ietf@gmail.com | ||||
| 7. Acknowledgements | ||||
| The authors would like to thank Jeffrey Haas, Aijun Wang, Robert | ||||
| Raszuk and Susan Hares for their review of this document and their | ||||
| comments. The authors would also like to thank Alvaro Retana for his | ||||
| extensive review and comments which helped correct issues and improve | ||||
| the document. | ||||
| 8. References | ||||
| 8.1. Normative References | 6. References | |||
| [I-D.ietf-lsr-ospf-prefix-originator] | 6.1. Normative References | |||
| Wang, A., Lindem, A., Dong, J., Psenak, P., and K. | ||||
| Talaulikar, "OSPF Prefix Originator Extensions", draft- | ||||
| ietf-lsr-ospf-prefix-originator-07 (work in progress), | ||||
| October 2020. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions | [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions | |||
| in Support of Generalized Multi-Protocol Label Switching | in Support of Generalized Multi-Protocol Label Switching | |||
| (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, | (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, | |||
| <https://www.rfc-editor.org/info/rfc4202>. | <https://www.rfc-editor.org/info/rfc4202>. | |||
| skipping to change at page 30, line 10 ¶ | skipping to change at line 1319 ¶ | |||
| Bashandy, A., Gredler, H., and B. Decraene, "IS-IS | Bashandy, A., Gredler, H., and B. Decraene, "IS-IS | |||
| Extensions for Segment Routing", RFC 8667, | Extensions for Segment Routing", RFC 8667, | |||
| DOI 10.17487/RFC8667, December 2019, | DOI 10.17487/RFC8667, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8667>. | <https://www.rfc-editor.org/info/rfc8667>. | |||
| [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, | [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, | |||
| M., and E. Aries, "Advertising Layer 2 Bundle Member Link | M., and E. Aries, "Advertising Layer 2 Bundle Member Link | |||
| Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, | Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, | |||
| December 2019, <https://www.rfc-editor.org/info/rfc8668>. | December 2019, <https://www.rfc-editor.org/info/rfc8668>. | |||
| 8.2. Informative References | [RFC9084] Wang, A., Lindem, A., Dong, J., Psenak, P., and K. | |||
| Talaulikar, Ed., "OSPF Prefix Originator Extensions", | ||||
| RFC 9084, DOI 10.17487/RFC9084, August 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9084>. | ||||
| [I-D.ietf-isis-sr-yang] | 6.2. Informative References | |||
| [ISIS-SR-YANG] | ||||
| Litkowski, S., Qu, Y., Sarkar, P., Chen, I., and J. | Litkowski, S., Qu, Y., Sarkar, P., Chen, I., and J. | |||
| Tantsura, "YANG Data Model for IS-IS Segment Routing", | Tantsura, "YANG Data Model for IS-IS Segment Routing", | |||
| draft-ietf-isis-sr-yang-09 (work in progress), January | Work in Progress, Internet-Draft, draft-ietf-isis-sr-yang- | |||
| 2021. | 10, 21 February 2021, | |||
| <https://datatracker.ietf.org/doc/html/draft-ietf-isis-sr- | ||||
| yang-10>. | ||||
| [I-D.ietf-ospf-sr-yang] | [OSPF-SR-YANG] | |||
| Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem, | |||
| "YANG Data Model for OSPF SR (Segment Routing) Protocol", | "YANG Data Model for OSPF SR (Segment Routing) Protocol", | |||
| draft-ietf-ospf-sr-yang-13 (work in progress), January | Work in Progress, Internet-Draft, draft-ietf-ospf-sr-yang- | |||
| 2021. | 15, 2 July 2021, <https://datatracker.ietf.org/doc/html/ | |||
| draft-ietf-ospf-sr-yang-15>. | ||||
| [I-D.ietf-spring-sr-yang] | ||||
| Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. | ||||
| Tantsura, "YANG Data Model for Segment Routing", draft- | ||||
| ietf-spring-sr-yang-30 (work in progress), January 2021. | ||||
| [RFC5706] Harrington, D., "Guidelines for Considering Operations and | [RFC5706] Harrington, D., "Guidelines for Considering Operations and | |||
| Management of New Protocols and Protocol Extensions", | Management of New Protocols and Protocol Extensions", | |||
| RFC 5706, DOI 10.17487/RFC5706, November 2009, | RFC 5706, DOI 10.17487/RFC5706, November 2009, | |||
| <https://www.rfc-editor.org/info/rfc5706>. | <https://www.rfc-editor.org/info/rfc5706>. | |||
| [RFC8661] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | [RFC8661] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., | |||
| Decraene, B., and S. Litkowski, "Segment Routing MPLS | Decraene, B., and S. Litkowski, "Segment Routing MPLS | |||
| Interworking with LDP", RFC 8661, DOI 10.17487/RFC8661, | Interworking with LDP", RFC 8661, DOI 10.17487/RFC8661, | |||
| December 2019, <https://www.rfc-editor.org/info/rfc8661>. | December 2019, <https://www.rfc-editor.org/info/rfc8661>. | |||
| [RFC9020] Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. | ||||
| Tantsura, "YANG Data Model for Segment Routing", RFC 9020, | ||||
| DOI 10.17487/RFC9020, May 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9020>. | ||||
| Acknowledgements | ||||
| The authors would like to thank Jeffrey Haas, Aijun Wang, Robert | ||||
| Raszuk, and Susan Hares for their review of this document and their | ||||
| comments. The authors would also like to thank Alvaro Retana for his | ||||
| extensive review and comments, which helped correct issues and | ||||
| improve the document. | ||||
| Contributors | ||||
| The following people have substantially contributed to the editing of | ||||
| this document: | ||||
| Peter Psenak | ||||
| Cisco Systems | ||||
| Email: ppsenak@cisco.com | ||||
| Les Ginsberg | ||||
| Cisco Systems | ||||
| Email: ginsberg@cisco.com | ||||
| Acee Lindem | ||||
| Cisco Systems | ||||
| Email: acee@cisco.com | ||||
| Saikat Ray | ||||
| Individual | ||||
| Email: raysaikat@gmail.com | ||||
| Jeff Tantsura | ||||
| Apstra Inc. | ||||
| Email: jefftant.ietf@gmail.com | ||||
| Authors' Addresses | Authors' Addresses | |||
| Stefano Previdi | Stefano Previdi | |||
| Huawei Technologies | Huawei Technologies | |||
| Rome | Rome | |||
| Italy | Italy | |||
| Email: stefano@previdi.net | Email: stefano@previdi.net | |||
| Ketan Talaulikar (editor) | Ketan Talaulikar (editor) | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| India | India | |||
| Email: ketant@cisco.com | Email: ketant@cisco.com | |||
| Clarence Filsfils | Clarence Filsfils | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Brussels | Brussels | |||
| Belgium | Belgium | |||
| skipping to change at page 31, line 25 ¶ | skipping to change at line 1424 ¶ | |||
| Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
| Hannes Gredler | Hannes Gredler | |||
| RtBrick Inc. | RtBrick Inc. | |||
| Email: hannes@rtbrick.com | Email: hannes@rtbrick.com | |||
| Mach(Guoyi) Chen | Mach(Guoyi) Chen | |||
| Huawei Technologies | Huawei Technologies | |||
| Huawei Building, No. 156 Beiqing Rd. | Huawei Building, No. 156 Beiqing Rd. | |||
| Beijing 100095 | Beijing | |||
| 100095 | ||||
| China | China | |||
| Email: mach.chen@huawei.com | Email: mach.chen@huawei.com | |||
| End of changes. 216 change blocks. | ||||
| 605 lines changed or deleted | 647 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||