| rfc9514.original | rfc9514.txt | |||
|---|---|---|---|---|
| Inter-Domain Routing G. Dawra | Internet Engineering Task Force (IETF) G. Dawra | |||
| Internet-Draft LinkedIn | Request for Comments: 9514 LinkedIn | |||
| Intended status: Standards Track C. Filsfils | Category: Standards Track C. Filsfils | |||
| Expires: 21 August 2023 K. Talaulikar, Ed. | ISSN: 2070-1721 K. Talaulikar, Ed. | |||
| Cisco Systems | Cisco Systems | |||
| M. Chen | M. Chen | |||
| Huawei | Huawei | |||
| D. Bernier | D. Bernier | |||
| Bell Canada | Bell Canada | |||
| B. Decraene | B. Decraene | |||
| Orange | Orange | |||
| 17 February 2023 | November 2023 | |||
| BGP Link State Extensions for SRv6 | Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment | |||
| draft-ietf-idr-bgpls-srv6-ext-14 | Routing over IPv6 (SRv6) | |||
| Abstract | Abstract | |||
| Segment Routing over IPv6 (SRv6) allows for a flexible definition of | Segment Routing over IPv6 (SRv6) allows for a flexible definition of | |||
| end-to-end paths within various topologies by encoding paths as | end-to-end paths within various topologies by encoding paths as | |||
| sequences of topological or functional sub-paths, called "segments". | sequences of topological or functional sub-paths called "segments". | |||
| These segments are advertised by various protocols such as BGP, IS-IS | These segments are advertised by various protocols such as BGP, IS- | |||
| and OSPFv3. | IS, and OSPFv3. | |||
| This document defines extensions to BGP Link-state (BGP-LS) to | This document defines extensions to BGP - Link State (BGP-LS) to | |||
| advertise SRv6 segments along with their behaviors and other | advertise SRv6 segments along with their behaviors and other | |||
| attributes via BGP. The BGP-LS address-family solution for SRv6 | attributes via BGP. The BGP-LS address-family solution for SRv6 | |||
| described in this document is similar to BGP-LS for SR for the MPLS | described in this document is similar to BGP-LS for SR for the MPLS | |||
| data-plane defined in a separate document. | data plane, which is defined in RFC 9085. | |||
| 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 | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 21 August 2023. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9514. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2023 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language | |||
| 2. BGP-LS Extensions for SRv6 . . . . . . . . . . . . . . . . . 4 | 2. BGP-LS Extensions for SRv6 | |||
| 3. SRv6 Node Attributes . . . . . . . . . . . . . . . . . . . . 5 | 3. SRv6 Node Attributes | |||
| 3.1. SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . . 5 | 3.1. SRv6 Capabilities TLV | |||
| 3.2. SRv6 Node MSD Types . . . . . . . . . . . . . . . . . . . 6 | 3.2. SRv6 Node MSD Types | |||
| 4. SRv6 Link Attributes . . . . . . . . . . . . . . . . . . . . 7 | 4. SRv6 Link Attributes | |||
| 4.1. SRv6 End.X SID TLV . . . . . . . . . . . . . . . . . . . 7 | 4.1. SRv6 End.X SID TLV | |||
| 4.2. SRv6 LAN End.X SID TLV . . . . . . . . . . . . . . . . . 9 | 4.2. SRv6 LAN End.X SID TLV | |||
| 4.3. SRv6 Link MSD Types . . . . . . . . . . . . . . . . . . . 11 | 4.3. SRv6 Link MSD Types | |||
| 5. SRv6 Prefix Attributes . . . . . . . . . . . . . . . . . . . 11 | 5. SRv6 Prefix Attributes | |||
| 5.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 11 | 5.1. SRv6 Locator TLV | |||
| 6. SRv6 SID NLRI . . . . . . . . . . . . . . . . . . . . . . . . 13 | 6. SRv6 SID NLRI | |||
| 6.1. SRv6 SID Information TLV . . . . . . . . . . . . . . . . 14 | 6.1. SRv6 SID Information TLV | |||
| 7. SRv6 SID Attributes . . . . . . . . . . . . . . . . . . . . . 15 | 7. SRv6 SID Attributes | |||
| 7.1. SRv6 Endpoint Behavior TLV . . . . . . . . . . . . . . . 15 | 7.1. SRv6 Endpoint Behavior TLV | |||
| 7.2. SRv6 BGP Peer Node SID TLV . . . . . . . . . . . . . . . 16 | 7.2. SRv6 BGP PeerNode SID TLV | |||
| 8. SRv6 SID Structure TLV . . . . . . . . . . . . . . . . . . . 18 | 8. SRv6 SID Structure TLV | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 9. IANA Considerations | |||
| 9.1. BGP-LS NLRI-Types . . . . . . . . . . . . . . . . . . . . 19 | 9.1. BGP-LS NLRI Types | |||
| 9.2. BGP-LS TLVs . . . . . . . . . . . . . . . . . . . . . . . 19 | 9.2. BGP-LS NLRI and Attribute TLVs | |||
| 9.3. SRv6 BGP EPE SID Flags . . . . . . . . . . . . . . . . . 19 | 9.3. SRv6 BGP EPE SID Flags | |||
| 10. Manageability Considerations . . . . . . . . . . . . . . . . 20 | 10. Manageability Considerations | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 11. Security Considerations | |||
| 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 | 12. References | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | 12.1. Normative References | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 12.2. Informative References | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 22 | Appendix A. Differences with BGP-EPE for SR-MPLS | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 24 | Acknowledgements | |||
| Appendix A. Differences with BGP-EPE for SR-MPLS . . . . . . . . 24 | Contributors | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | Authors' Addresses | |||
| 1. Introduction | 1. Introduction | |||
| SRv6 refers to Segment Routing instantiated on the IPv6 data-plane | SRv6 refers to Segment Routing instantiated on the IPv6 data plane | |||
| [RFC8402]. An SRv6 Segment is often referred to by its SRv6 Segment | [RFC8402]. An SRv6 segment is often referred to by its SRv6 Segment | |||
| Identifier (SID). | Identifier (SID). | |||
| The network programming paradigm [RFC8986] is central to SRv6. It | The network programming paradigm [RFC8986] is central to SRv6. It | |||
| describes how different behaviors can be bound to SIDs and how a | describes how different behaviors can be bound to SIDs and how a | |||
| network program can be expressed as a combination of SIDs. | network program can be expressed as a combination of SIDs. | |||
| An SRv6-capable node maintains all the SRv6 segments explicitly | An SRv6-capable node maintains all the SRv6 segments explicitly | |||
| instantiated locally. | instantiated locally. | |||
| The IS-IS and OSPFv3 link-state routing protocols have been extended | The IS-IS and OSPFv3 link-state routing protocols have been extended | |||
| to advertise some of these SRv6 SIDs and SRv6-related information | to advertise some of these SRv6 SIDs and SRv6-related information | |||
| [I-D.ietf-lsr-isis-srv6-extensions], | [RFC9352] [RFC9513]. Other SRv6 SIDs may be instantiated on a node | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]. Other SRv6 SIDs may be | via other mechanisms for topological or service functionalities. | |||
| instantiated on a node via other mechanisms for topological or | ||||
| service functionalities. | ||||
| The advertisement of SR related information along with the topology | The advertisement of SR-related information along with the topology | |||
| for the MPLS data-plane instantiation (SR-MPLS) is specified in | is specified in [RFC9085] for the MPLS data plane instantiation (SR- | |||
| [RFC9085] and for the BGP Egress Peer Engineering (EPE) is specified | MPLS) and in [RFC9086] for BGP Egress Peer Engineering (EPE). On | |||
| in [RFC9086]. On similar lines, introducing the SRv6 related | similar lines, introducing the SRv6-related information in BGP-LS | |||
| information in BGP-LS allows consumer applications that require | allows consumer applications that require topological visibility to | |||
| topological visibility to also receive the SRv6 SIDs from nodes | also receive the SRv6 SIDs from nodes across an IGP domain or even | |||
| across an IGP domain or even across Autonomous Systems (AS), as | across Autonomous Systems (ASes) as required. This allows | |||
| required. This allows applications to leverage the SRv6 capabilities | applications to leverage the SRv6 capabilities for network | |||
| for network programming. | programming. | |||
| The identifying key of each Link-State object, namely a node, link, | The identifying key of each link-state object, namely a node, link, | |||
| or prefix, is encoded in the Network-Layer Reachability Information | or prefix, is encoded in the Network Layer Reachability Information | |||
| (NLRI) and the properties of the object are encoded in the BGP-LS | (NLRI), and the properties of the object are encoded in the BGP-LS | |||
| Attribute [RFC7752]. | Attribute [RFC7752]. | |||
| This document describes extensions to BGP-LS to advertise the SRv6 | This document describes extensions to BGP-LS to advertise the SRv6 | |||
| SIDs and other SRv6 information from all the SRv6 capable nodes in | SIDs and other SRv6 information from all the SRv6-capable nodes in | |||
| the IGP domain when sourced from link-state routing protocols and | the IGP domain when sourced from link-state routing protocols and | |||
| directly from individual SRv6 capable nodes (e.g. when sourced from | directly from individual SRv6-capable nodes (e.g., when sourced from | |||
| BGP for EPE). | BGP for EPE). | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2. BGP-LS Extensions for SRv6 | 2. BGP-LS Extensions for SRv6 | |||
| BGP-LS [RFC7752] defines the Node, Link, and Prefix Link-State | BGP-LS [RFC7752] defines the Node, Link, and Prefix Link-State NLRI | |||
| Network Layer Reachability Information (NLRI) types and the | types and the advertisement of their attributes via BGP. | |||
| advertisement of their attributes via BGP. | ||||
| When a BGP-LS router advertises topology information that it sources | When a BGP-LS router advertises topology information that it sources | |||
| from the underlying link-state routing protocol, then it derives the | from the underlying link-state routing protocol, it derives the | |||
| corresponding SRv6 information from the SRv6 extensions for IS-IS | corresponding SRv6 information from the SRv6 extensions for IS-IS | |||
| [I-D.ietf-lsr-isis-srv6-extensions] or OSPFv3 | [RFC9352] or OSPFv3 [RFC9513] as applicable. In practice, this | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions], as applicable. In practice, | derivation comprises a simple copy of the relevant fields from the | |||
| this derivation comprises a simple copy of the relevant fields from | IS-IS or OSPFv3 TLV/sub-TLV into the fields of the corresponding BGP- | |||
| the IS-IS/OSPFv3 TLV/sub-TLV into the fields of the corresponding | LS TLV/sub-TLV. When a BGP-LS router advertises topology information | |||
| BGP-LS TLV/sub-TLV. When a BGP-LS router advertises topology | from the BGP routing protocol (e.g., for EPE) or advertises SRv6 SIDs | |||
| information from the BGP routing protocol (e.g., for EPE) or when it | associated with a node using Direct as the Protocol-ID, it derives | |||
| advertises SRv6 SIDs associated with a node using Direct as the | the SRv6 information from the local node. Such information is | |||
| Protocol-ID, then it derives the SRv6 information from the local | advertised only on behalf of the local router, in contrast to the | |||
| node. Such information is advertised only on behalf of the local | advertisement of information from all nodes of an IGP domain when | |||
| router, in contrast to the advertisement of information from all | sourced from a link-state routing protocol. | |||
| nodes of an IGP domain when sourced from a link-state routing | ||||
| protocol. | ||||
| The SRv6 information pertaining to a node is advertised via the BGP- | The SRv6 information pertaining to a node is advertised via the BGP- | |||
| LS Node NLRI and using the BGP-LS Attribute TLVs as follows: | LS Node NLRI using the BGP-LS Attribute TLVs as follows: | |||
| * SRv6 Capabilities of the node are advertised via the SRv6 | * The SRv6 capabilities of the node are advertised via the SRv6 | |||
| Capabilities TLV (Section 3.1). | Capabilities TLV (Section 3.1). | |||
| * Maximum SID Depth (MSD) types introduced for SRv6 are advertised | * Maximum SID Depth (MSD) types introduced for SRv6 are advertised | |||
| (Section 3.2) using the Node MSD TLV specified in [RFC8814] | (Section 3.2) using the Node MSD TLV specified in [RFC8814]. | |||
| * Algorithm support for SRv6 is advertised via the SR-Algorithm TLV | * Algorithm support for SRv6 is advertised via the SR-Algorithm TLV | |||
| specified in [RFC9085]. | specified in [RFC9085]. | |||
| The SRv6 information pertaining to a link is advertised via the BGP- | The SRv6 information pertaining to a link is advertised via the BGP- | |||
| LS Link NLRI and using the BGP-LS Attribute TLVs as follows: | LS Link NLRI using the BGP-LS Attribute TLVs as follows: | |||
| * SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency | * The SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer | |||
| SID [RFC8402] is advertised via the SRv6 End.X SID TLV introduced | Adjacency SID [RFC8402] is advertised via the SRv6 End.X SID TLV | |||
| in this document (Section 4.1). | introduced in this document (Section 4.1). | |||
| * SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR) | * The SRv6 SID of the IGP Adjacency SID to a non-Designated Router | |||
| or non-Designated Intermediate-System (DIS) [RFC8402] is | (DR) or non-Designated Intermediate System (DIS) [RFC8402] is | |||
| advertised via the SRv6 LAN End.X SID TLV introduced in this | advertised via the SRv6 LAN End.X SID TLV introduced in this | |||
| document (Section 4.2). | document (Section 4.2). | |||
| * MSD types introduced for SRv6 are advertised (Section 4.3) using | * MSD types introduced for SRv6 are advertised (Section 4.3) using | |||
| the Link MSD TLV specified in [RFC8814]. | the Link MSD TLV specified in [RFC8814]. | |||
| The SRv6 information pertaining to a prefix is advertised via the | The SRv6 information pertaining to a prefix is advertised via the | |||
| BGP-LS Prefix NLRI and using the BGP-LS Attribute TLVs as follows: | BGP-LS Prefix NLRI using the BGP-LS Attribute TLVs as follows: | |||
| * SRv6 Locator is advertised via the SRv6 Locator TLV introduced in | * The SRv6 Locator is advertised via the SRv6 Locator TLV introduced | |||
| this document (Section 5.1). | in this document (Section 5.1). | |||
| * The attributes of the SRv6 Locator are advertised via the Prefix | * The attributes of the SRv6 Locator are advertised via the Prefix | |||
| Attribute Flags TLV specified in [RFC9085]. | Attribute Flags TLV specified in [RFC9085]. | |||
| The SRv6 SIDs associated with the node are advertised using the BGP- | The SRv6 SIDs associated with the node are advertised using the BGP- | |||
| LS SRv6 SID NLRI introduced in this document (Section 6). This | LS SRv6 SID NLRI introduced in this document (Section 6). This | |||
| enables the BGP-LS encoding to scale to cover a potentially large set | enables the BGP-LS encoding to scale to cover a potentially large set | |||
| of SRv6 SIDs instantiated on a node with the granularity of | of SRv6 SIDs instantiated on a node with the granularity of | |||
| individual SIDs and without affecting the size and scalability of the | individual SIDs and without affecting the size and scalability of the | |||
| BGP-LS updates. Had the SRv6 SIDs been advertised within the BGP-LS | BGP-LS updates. If the SRv6 SIDs had been advertised within the BGP- | |||
| Link Attribute associated with the existing Node NLRI, the BGP-LS | LS Link Attribute associated with the existing Node NLRI, the BGP-LS | |||
| update would have grown rather large with the increase in SRv6 SIDs | update would have grown rather large with the increase in SRv6 SIDs | |||
| on the node and would have also required a large update message to be | on the node and would have also required a large update message to be | |||
| generated for any change to even a single SRv6 SID. BGP-LS Attribute | generated for any change, even a change to a single SRv6 SID. BGP-LS | |||
| TLVs for the SRv6 SID NLRI are introduced in this document as | Attribute TLVs for the SRv6 SID NLRI are introduced in this document | |||
| follows: | as follows: | |||
| * The endpoint behavior of the SRv6 SID is advertised via the SRv6 | * The Endpoint behavior of the SRv6 SID is advertised via the SRv6 | |||
| Endpoint Behavior TLV (Section 7.1). | Endpoint Behavior TLV (Section 7.1). | |||
| * The BGP EPE Peer Node context for a PeerNode SID, and the Peer Set | * The BGP EPE Peer Node context for a PeerNode SID and the Peer Set | |||
| context for a PeerSet SID [RFC8402] are advertised via the SRv6 | context for a PeerSet SID [RFC8402] are advertised via the SRv6 | |||
| BGP EPE Peer Node SID TLV (Section 7.2), | BGP PeerNode SID TLV (Section 7.2). | |||
| Subsequent sections of this document specify the encoding and usage | Subsequent sections of this document specify the encoding and usage | |||
| of these extensions. All the TLVs introduced follow the formats and | of these extensions. All the TLVs introduced follow the formats and | |||
| common field definitions provided in [RFC7752]. | common field definitions provided in [RFC7752]. | |||
| 3. SRv6 Node Attributes | 3. SRv6 Node Attributes | |||
| The SRv6 attributes of a node are advertised using the BGP-LS | The SRv6 attributes of a node are advertised using the BGP-LS | |||
| Attribute TLVs defined in this section and associated with the BGP-LS | Attribute TLVs defined in this section and associated with the BGP-LS | |||
| Node NLRI. | Node NLRI. | |||
| 3.1. SRv6 Capabilities TLV | 3.1. SRv6 Capabilities TLV | |||
| This BGP-LS Attribute TLV is used to announce the SRv6 capabilities | This BGP-LS Attribute TLV is used to announce the SRv6 capabilities | |||
| of the node along with the BGP-LS Node NLRI and indicates the SRv6 | of the node along with the BGP-LS Node NLRI and indicates the SRv6 | |||
| support by the node. A single instance of this TLV MUST be included | support by the node. A single instance of this TLV MUST be included | |||
| in the BGP-LS attribute for each SRv6 capable node. The IS-IS SRv6 | in the BGP-LS Attribute for each SRv6-capable node. The IS-IS SRv6 | |||
| Capabilities sub-TLV [I-D.ietf-lsr-isis-srv6-extensions] and the | Capabilities sub-TLV [RFC9352] and the OSPFv3 SRv6 Capabilities TLV | |||
| OSPFv3 SRv6 Capabilities TLV [I-D.ietf-lsr-ospfv3-srv6-extensions] | [RFC9513] that map to this BGP-LS TLV are specified with the ability | |||
| that map to this BGP-LS TLV are specified with the ability to carry | to carry optional sub-sub-TLVs and sub-TLVs. However, no such | |||
| optional sub-sub-TLVs/sub-TLVs. However, no such extensions are | extensions are currently defined. Moreover, the SRv6 Capabilities | |||
| currently defined. Moreover, the SRv6 Capabilities TLV defined below | TLV defined below is not extensible. As a result, it is expected | |||
| is not extensible. As a result, it is expected that any extensions | that any extensions will be introduced as top-level TLVs in the BGP- | |||
| will be introduced as top-level TLVs in the BGP-LS Attribute. | LS Attribute. The SRv6 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: SRv6 Capabilities TLV Format | Figure 1: SRv6 Capabilities TLV Format | |||
| Where: | where: | |||
| * Type: 1038 | Type: 1038 | |||
| * Length : 4. | Length: 4 | |||
| * Flags: 2 octet field. The flags are copied from the IS-IS SRv6 | Flags: 2-octet field. The flags are copied from the IS-IS SRv6 | |||
| Capabilities sub-TLV (section 2 of | Capabilities sub-TLV (Section 2 of [RFC9352]) or from the OSPFv3 | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or from the OSPFv3 SRv6 | SRv6 Capabilities TLV (Section 2 of [RFC9513]) in the case of IS- | |||
| Capabilities TLV (section 2 of | IS or OSPFv3, respectively. | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or | ||||
| OSPFv3 respectively. | ||||
| * Reserved: 2 octet that MUST be set to 0 when originated and | Reserved: 2-octet field that MUST be set to 0 when originated and | |||
| ignored on receipt. | ignored on receipt. | |||
| 3.2. SRv6 Node MSD Types | 3.2. SRv6 Node MSD Types | |||
| The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI | The Node MSD TLV [RFC8814] of the BGP-LS Attribute of the Node NLRI | |||
| is also used to advertise the limits and the Segment Routing Header | is also used to advertise the limits and the Segment Routing Header | |||
| (SRH) [RFC8754] operations supported by the SRv6 capable node. The | (SRH) [RFC8754] operations supported by the SRv6-capable node. The | |||
| SRv6 MSD Types specified in section 4 of | SRv6 MSD types specified in Section 4 of [RFC9352] are also used with | |||
| [I-D.ietf-lsr-isis-srv6-extensions] are also used with the BGP-LS | the BGP-LS Node MSD TLV, as these code points are shared between the | |||
| Node MSD TLV as these code points are shared between IS-IS, OSPF and | IS-IS, OSPF, and BGP-LS protocols. The description and semantics of | |||
| BGP-LS protocols. The description and semantics of these new MSD- | these new MSD types for BGP-LS are identical to those specified in | |||
| types for BGP-LS are identical as specified in | [RFC9352]. | |||
| [I-D.ietf-lsr-isis-srv6-extensions]. | ||||
| Each MSD-type is encoded in the BGP-LS Node MSD TLV as a one-octet | Each MSD type is encoded in the BGP-LS Node MSD TLV as a one-octet | |||
| type followed by a one-octet value as derived from the IS-IS or | type followed by a one-octet value as derived from the IS-IS or | |||
| OSPFv3 Node MSD advertisements as specified in [RFC8814]. | OSPFv3 Node MSD advertisements specified in [RFC8814]. | |||
| 4. SRv6 Link Attributes | 4. SRv6 Link Attributes | |||
| SRv6 attributes and SIDs associated with a link or adjacency are | SRv6 attributes and SIDs associated with a link or adjacency are | |||
| advertised using the BGP-LS Attribute TLVs defined in this section | advertised using the BGP-LS Attribute TLVs defined in this section | |||
| and associated with the BGP-LS Link NLRI. | and associated with the BGP-LS Link NLRI. | |||
| 4.1. SRv6 End.X SID TLV | 4.1. SRv6 End.X SID TLV | |||
| The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated | The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs associated | |||
| with an IGP Adjacency SID behavior that correspond to a point-to- | with an IGP Adjacency SID behavior that correspond to a point-to- | |||
| point or point-to-multipoint link or adjacency of the node running | point or point-to-multipoint link or adjacency of the node running | |||
| the IS-IS or OSPFv3 protocols. The information advertised via this | the IS-IS or OSPFv3 protocols. The information advertised via this | |||
| TLV is derived from the IS-IS SRv6 End.X SID sub-TLV (section 8.1 of | TLV is derived from the IS-IS SRv6 End.X SID sub-TLV (Section 8.1 of | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End.X SID | [RFC9352]) or the OSPFv3 SRv6 End.X SID sub-TLV (Section 9.1 of | |||
| sub-TLV (section 9.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the | [RFC9513]) in the case of IS-IS or OSPFv3, respectively. This TLV | |||
| case of IS-IS or OSPFv3 respectively. This TLV can also be used to | can also be used to advertise the SRv6 SID corresponding to the | |||
| advertise the SRv6 SID corresponding to the underlying layer-2 member | underlying Layer 2 member links for a Layer 3 bundle interface as a | |||
| links for a layer-3 bundle interface as a sub-TLV of the L2 Bundle | sub-TLV of the L2 Bundle Member Attribute TLV [RFC9085]. | |||
| Member Attribute TLV [RFC9085]. | ||||
| This TLV is also used by BGP-LS to advertise the BGP EPE Peer | This TLV is also used by BGP-LS to advertise the BGP EPE Peer | |||
| Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in | Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in | |||
| [RFC9086]. The SRv6 SID for the BGP Peer Adjacency using End.X | [RFC9086]. The SRv6 SID for the BGP Peer Adjacency using End.X | |||
| behaviors (viz. End.X, End.X with PSP, End.X with USP, and End.X | behaviors (viz. End.X, End.X with PSP, End.X with USP, and End.X with | |||
| with PSP & USP) [RFC8986] indicates the cross-connect to a specific | PSP & USP) [RFC8986] indicates the cross-connect to a specific Layer | |||
| layer-3 link to the specific BGP session peer (neighbor). | 3 link to the specific BGP session peer (neighbor). | |||
| More than one instance of this TLV can be included in the BGP-LS | More than one instance of this TLV (one for each SRv6 End.X SID) can | |||
| Attribute; one for each SRv6 End.X SID. | be included in the BGP-LS Attribute. | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Weight | Reserved | SID (16 octets) ... | | | Weight | Reserved | SID (16 octets) ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | Sub-TLVs (variable) . . . | | SID (cont ...) | Sub-TLVs (variable) . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: SRv6 End.X TLV Format | Figure 2: SRv6 End.X SID TLV Format | |||
| Where: | where: | |||
| Type: 1106 | Type: 1106 | |||
| Length: variable | Length: variable | |||
| Endpoint Behavior: 2 octet field. The Endpoint Behavior code | Endpoint Behavior: 2-octet field. The Endpoint behavior code point | |||
| point for this SRv6 SID as defined in section 10.2 of [RFC8986]. | for this SRv6 SID as defined in Section 10.2 of [RFC8986]. | |||
| Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | |||
| End.X SID sub-TLV (section 8.1 of | End.X SID sub-TLV (Section 8.1 of [RFC9352]) or the OSPFv3 SRv6 | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End.X SID | End.X SID sub-TLV (Section 9.1 of [RFC9513]) in the case of IS-IS | |||
| sub-TLV (section 9.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in | or OSPFv3, respectively. In the case of the BGP EPE Peer | |||
| the case of IS-IS or OSPFv3 respectively. In the case of BGP EPE | Adjacency SID, the flags are as defined in Section 7.2. | |||
| Peer Adjacency SID, the flags are as defined in Section 7.2. | ||||
| Algorithm: 1 octet field. Algorithm associated with the SID. | Algorithm: 1-octet field. Algorithm associated with the SID. | |||
| Weight: 1 octet field. The value represents the weight of the SID | Weight: 1-octet field. The value represents the weight of the SID | |||
| for the purpose of load balancing. The use of the weight is | for the purpose of load balancing. The use of the weight is | |||
| defined in [RFC8402]. | defined in [RFC8402]. | |||
| Reserved: 1 octet field that MUST be set to 0 when originated and | Reserved: 1-octet field that MUST be set to 0 when originated and | |||
| ignored on receipt. | ignored on receipt. | |||
| SID: 16 octet field. This field encodes the advertised SRv6 SID | SID: 16-octet field. This field encodes the advertised SRv6 SID as | |||
| as 128 bit value. | a 128-bit value. | |||
| Sub-TLVs : Used to advertise sub-TLVs that provide additional | Sub-TLVs: Used to advertise sub-TLVs that provide additional | |||
| attributes for the specific SRv6 SID. This document defines one | attributes for the specific SRv6 SID. This document defines one | |||
| in Section 8. | in Section 8. | |||
| 4.2. SRv6 LAN End.X SID TLV | 4.2. SRv6 LAN End.X SID TLV | |||
| For a LAN interface, an IGP node ordinarily announces only its | For a LAN interface, an IGP node ordinarily announces only its | |||
| adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The | adjacency to the IS-IS pseudonode (or the equivalent OSPF DR). The | |||
| information advertised via this TLV is derived from the IS-IS SRv6 | information advertised via this TLV is derived from the IS-IS SRv6 | |||
| LAN End.X SID sub-TLV (section 8.2 of | LAN End.X SID sub-TLV (Section 8.2 of [RFC9352]) or the OSPFv3 SRv6 | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 LAN End.X | LAN End.X SID sub-TLV (Section 9.2 of [RFC9513]) in the case of IS-IS | |||
| sub-TLV (section 9.2 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the | or OSPFv3, respectively. The SRv6 LAN End.X SID TLV allows a node to | |||
| case of IS-IS or OSPFv3 respectively. The SRv6 LAN End.X SID TLV | announce the SRv6 SID corresponding to its adjacencies to all other | |||
| allows a node to announce the SRv6 SID corresponding to its | (i.e., non-DIS or non-DR) nodes attached to the LAN in a single | |||
| adjacencies to all other (i.e., non-DIS or non-DR) nodes attached to | instance of the BGP-LS Link NLRI. Without this TLV, multiple BGP-LS | |||
| the LAN in a single instance of the BGP-LS Link NLRI. Without this | Link NLRIs would need to be originated, one for each neighbor, to | |||
| TLV, multiple BGP-LS Link NLRIs would need to be originated, one for | advertise the SRv6 End.X SID TLVs for those non-DIS/non-DR neighbors. | |||
| each neighbor, to advertise the SRv6 End.X SID TLVs for those non- | The SRv6 SID for these IGP adjacencies using the End.X behaviors | |||
| DIS/non-DR neighbors. The SRv6 SID for these IGP adjacencies using | (viz. End.X, End.X with PSP, End.X with USP, and End.X with PSP & | |||
| the End.X behaviors (viz. End.X, End.X with PSP, End.X with USP, and | USP) [RFC8986] are advertised using the SRv6 LAN End.X SID TLV. | |||
| End.X with PSP & USP) [RFC8986] are advertised using the SRv6 LAN | ||||
| End.X SID TLV. | ||||
| More than one instance of this TLV can be included in the BGP-LS | More than one instance of this TLV (one for each SRv6 LAN End.X SID) | |||
| Attribute; one for each SRv6 LAN End.X SID. | can be included in the BGP-LS Attribute. | |||
| The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN End.X | The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN End.X | |||
| SID TLVs have the following format: | SID TLVs have 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Weight | Reserved | Neighbor ID - | | | Weight | Reserved | Neighbor ID - | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | | | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (16 octets) ... | | | SID (16 octets) ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: SRv6 LAN End.X SID TLV Format | Figure 3: SRv6 LAN End.X SID TLV Format | |||
| Where: | where: | |||
| * Type: 1107 in case of IS-IS and 1108 in case of OSPFv3 | Type: 1107 for IS-IS and 1108 for OSPFv3 | |||
| * Length: variable | Length: variable | |||
| * Endpoint Behavior: 2 octet field. The Endpoint Behavior code | Endpoint Behavior: 2-octet field. The Endpoint behavior code point | |||
| point for this SRv6 SID as defined in section 10.2 of [RFC8986]. | for this SRv6 SID as defined in Section 10.2 of [RFC8986]. | |||
| * Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | |||
| LAN End.X SID sub-TLV (section 8.2 of | LAN End.X SID sub-TLV (Section 8.2 of [RFC9352]) or the OSPFv3 | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 LAN End.X | SRv6 LAN End.X SID sub-TLV (Section 9.2 of [RFC9513]) in the case | |||
| SID sub-TLV (section 9.2 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) | of IS-IS or OSPFv3, respectively. | |||
| in the case of IS-IS or OSPFv3 respectively. | ||||
| * Algorithm: 1 octet field. Algorithm associated with the SID. | Algorithm: 1-octet field. Algorithm associated with the SID. | |||
| * Weight: 1 octet field. The value represents the weight of the SID | Weight: 1-octet field. The value represents the weight of the SID | |||
| for the purpose of load balancing. | for the purpose of load balancing. | |||
| * Reserved: 1 octet field that MUST be set to 0 when originated and | Reserved: 1-octet field that MUST be set to 0 when originated and | |||
| ignored on receipt. | ignored on receipt. | |||
| * Neighbor ID : 6 octets of Neighbor System-ID in IS-IS SRv6 LAN | Neighbor ID: 6 octets of Neighbor System-ID in the IS-IS SRv6 LAN | |||
| End.X SID TLV or 4 octets of Neighbor Router-id in the OSPFv3 SRv6 | End.X SID TLV or 4 octets of Neighbor Router-ID in the OSPFv3 SRv6 | |||
| LAN End.X SID TLV. | LAN End.X SID TLV. | |||
| * SID: 16 octet field. This field encodes the advertised SRv6 SID | SID: 16-octet field. This field encodes the advertised SRv6 SID as | |||
| as 128 bit value. | a 128-bit value. | |||
| * Sub-TLVs : Used to advertise sub-TLVs that provide additional | Sub-TLVs: Used to advertise sub-TLVs that provide additional | |||
| attributes for the specific SRv6 SID. This document defines one | attributes for the specific SRv6 SID. This document defines one | |||
| in Section 8. | in Section 8. | |||
| 4.3. SRv6 Link MSD Types | 4.3. SRv6 Link MSD Types | |||
| The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI | The Link MSD TLV [RFC8814] of the BGP-LS Attribute of the Link NLRI | |||
| is also used to advertise the limits and the SRH operations supported | is also used to advertise the limits and the SRH operations supported | |||
| on the specific link by the SRv6 capable node. The SRv6 MSD Types | on the specific link by the SRv6-capable node. The SRv6 MSD types | |||
| specified in section 4 of[I-D.ietf-lsr-isis-srv6-extensions] are also | specified in Section 4 of [RFC9352] are also used with the BGP-LS | |||
| used with the BGP-LS Link MSD TLV as these code points are shared | Link MSD TLV, as these code points are shared between the IS-IS, | |||
| between IS-IS, OSPF, and BGP-LS protocols. The description and | OSPF, and BGP-LS protocols. The description and semantics of these | |||
| semantics of these new MSD types for BGP-LS are identical as | new MSD types for BGP-LS are identical as specified in [RFC9352]. | |||
| specified in [I-D.ietf-lsr-isis-srv6-extensions]. | ||||
| Each MSD-type is encoded in the BGP-LS Link MSD TLV as a one-octet | Each MSD type is encoded in the BGP-LS Link MSD TLV as a one-octet | |||
| type followed by a one-octet value as derived from the IS-IS or | type followed by a one-octet value as derived from the IS-IS or | |||
| OSPFv3 Link MSD advertisements as specified in [RFC8814]. | OSPFv3 Link MSD advertisements specified in [RFC8814]. | |||
| 5. SRv6 Prefix Attributes | 5. SRv6 Prefix Attributes | |||
| SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS | SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS | |||
| Attribute TLVs defined in this section and associated with the BGP-LS | Attribute TLVs defined in this section and associated with the BGP-LS | |||
| Prefix NLRI. | Prefix NLRI. | |||
| 5.1. SRv6 Locator TLV | 5.1. SRv6 Locator TLV | |||
| As specified in [RFC8986], an SRv6 SID comprises Locator, Function | As specified in [RFC8986], an SRv6 SID comprises locator, function, | |||
| and Argument parts. | and argument parts. | |||
| A node is provisioned with one or more Locators supported by that | A node is provisioned with one or more locators supported by that | |||
| node. Locators are covering prefixes for the set of SIDs provisioned | node. Locators are covering prefixes for the set of SIDs provisioned | |||
| on that node. Each Locator is advertised as a BGP-LS Prefix NLRI | on that node. Each locator is advertised as a BGP-LS Prefix NLRI | |||
| object along with the SRv6 Locator TLV in its BGP-LS Attribute. | object along with the SRv6 Locator TLV in its BGP-LS Attribute. | |||
| The information advertised via this TLV is derived from the IS-IS | The information advertised via this TLV is derived from the IS-IS | |||
| SRv6 Locator TLV (section 7.1 of [I-D.ietf-lsr-isis-srv6-extensions]) | SRv6 Locator TLV (Section 7.1 of [RFC9352]) or the OSPFv3 SRv6 | |||
| or the OSPFv3 SRv6 Locator TLV (section 7.1 of | Locator TLV (Section 7.1 of [RFC9513]) in the case of IS-IS or | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 | OSPFv3, respectively. | |||
| respectively. | ||||
| The IPv6 Prefix matching the Locator may be also advertised as prefix | The IPv6 Prefix matching the locator may also be advertised as prefix | |||
| reachability by the underlying routing protocol. In this case, the | reachability by the underlying routing protocol. In this case, the | |||
| Prefix NLRI would be also associated with the Prefix Metric TLV | Prefix NLRI would also be associated with the Prefix Metric TLV | |||
| [RFC7752] that carries the routing metric for this prefix. A Prefix | [RFC7752] that carries the routing metric for this prefix. A Prefix | |||
| NLRI, that has been advertised with a SRv6 Locator TLV, is also | NLRI that has been advertised with a SRv6 Locator TLV is also | |||
| considered a normal routing prefix (i.e., prefix reachability) only | considered a normal routing prefix (i.e., prefix reachability) only | |||
| when there is also an IGP metric TLV (TLV 1095) associated it. | when there is also an IGP Metric TLV (TLV 1095) associated it. | |||
| Otherwise, it is considered only as an SRv6 Locator advertisement. | Otherwise, it is only considered an SRv6 Locator advertisement. | |||
| The SRv6 Locator TLV has the following format: | The SRv6 Locator 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Metric | | | Metric | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: SRv6 Locator TLV Format | Figure 4: SRv6 Locator TLV Format | |||
| Where: | where: | |||
| Type: 1162 | Type: 1162 | |||
| Length: variable | Length: variable | |||
| Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | Flags: 1 octet of flags. The flags are copied from the IS-IS SRv6 | |||
| Locator TLV (section 7.1 of [I-D.ietf-lsr-isis-srv6-extensions]) | Locator TLV (Section 7.1 of [RFC9352]) or the OSPFv3 SRv6 Locator | |||
| or the OSPFv3 SRv6 Locator TLV (section 7.1 of | TLV (Section 7.1 of [RFC9513]) in the case of IS-IS or OSPFv3, | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or | respectively. | |||
| OSPFv3 respectively. | ||||
| Algorithm: 1 octet field. Algorithm associated with the SID. | Algorithm: 1-octet field. Algorithm associated with the SID. | |||
| Reserved: 2 octet field. The value MUST be set to 0 when | Reserved: 2-octet field. The value MUST be set to 0 when originated | |||
| originated and ignored on receipt. | and ignored on receipt. | |||
| Metric: 4 octet field. The value of the metric for the Locator | Metric: 4-octet field. The value of the metric for the locator | |||
| copied from the IS-IS SRv6 Locator TLV (section 7.1 of | copied from the IS-IS SRv6 Locator TLV (Section 7.1 of [RFC9352]) | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 Locator | or the OSPFv3 SRv6 Locator TLV (Section 7.1 of [RFC9513]) in the | |||
| TLV (section 7.1 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the | case of IS-IS or OSPFv3, respectively. | |||
| case of IS-IS or OSPFv3 respectively. | ||||
| Sub-TLVs : Used to advertise sub-TLVs that provide additional | Sub-TLVs: Used to advertise sub-TLVs that provide additional | |||
| attributes for the given SRv6 Locator. Currently, none are | attributes for the given SRv6 Locator. Currently, none are | |||
| defined. | defined. | |||
| 6. SRv6 SID NLRI | 6. SRv6 SID NLRI | |||
| The "Link-State NLRI" defined in [RFC7752] is extended to carry the | The Link-State NLRI defined in [RFC7752] is extended to carry the | |||
| SRv6 SID information. | SRv6 SID information. | |||
| A new "Link-State NLRI Type" is defined for SRv6 SID information as | This document defines the following new Link-State NLRI type for SRv6 | |||
| follows: | SID information: SRv6 SID NLRI (type 6). | |||
| * Link-State NLRI Type: SRv6 SID NLRI (value 6). | ||||
| The SRv6 SIDs associated with the node are advertised using the BGP- | The SRv6 SIDs associated with the node are advertised using the BGP- | |||
| LS SRv6 SID NLRI. | LS SRv6 SID NLRI. | |||
| The format of this new NLRI type is as shown in the following figure: | This new NLRI type 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 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| | Protocol-ID | | | Protocol-ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Identifier | | | Identifier | | |||
| | (8 octets) | | | (8 octets) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Local Node Descriptors (variable) // | | Local Node Descriptors (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 SID Descriptors (variable) // | | SRv6 SID Descriptors (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: SRv6 SID NLRI Format | Figure 5: SRv6 SID NLRI Format | |||
| Where: | where: | |||
| * Protocol-ID: 1-octet field that specifies the information source | Protocol-ID: 1-octet field that specifies the information source | |||
| protocol [RFC7752]. | protocol [RFC7752]. | |||
| * Identifier: 8 octet value as defined in [RFC7752]. | Identifier: 8-octet value as defined in [RFC7752]. | |||
| * Local Node Descriptors TLV: set of Node Descriptor TLVs for the | Local Node Descriptors TLV: Set of Node Descriptor TLVs for the | |||
| local node, as defined in [RFC7752] for IGPs, direct, and static | local node as defined in [RFC7752] for IGPs, the Direct Protocol- | |||
| configuration or as defined in [RFC9086] for BGP protocol. | ID, and the Static configuration Protocol-ID or as defined in | |||
| [RFC9086] for BGP. | ||||
| * SRv6 SID Descriptors: set of SRv6 SID Descriptor TLVs. This field | SRv6 SID Descriptors: Set of SRv6 SID Descriptor TLVs. This field | |||
| MUST contain a single SRv6 SID Information TLV (Section 6.1) and | MUST contain a single SRv6 SID Information TLV (Section 6.1) and | |||
| MAY contain the Multi-Topology Identifier TLV [RFC7752]. | MAY contain the Multi-Topology Identifier TLV [RFC7752]. | |||
| New TLVs for advertisement within the BGP-LS Attribute [RFC7752] are | New TLVs for advertisement within the BGP-LS Attribute [RFC7752] are | |||
| defined in Section 7 to carry the attributes of an SRv6 SID. | defined in Section 7 to carry the attributes of an SRv6 SID. | |||
| 6.1. SRv6 SID Information TLV | 6.1. SRv6 SID Information TLV | |||
| An SRv6 SID that is associated with the node and advertised using the | An SRv6 SID that is associated with the node and advertised using the | |||
| SRv6 SID NLRI is encoded using the SRv6 SID Information TLV. | SRv6 SID NLRI is encoded using the SRv6 SID Information TLV. | |||
| When advertising the SRv6 SIDs from the IGPs, the SID information is | When advertising the SRv6 SIDs from the IGPs, the SID information is | |||
| derived from the IS-IS SRv6 End SID sub-TLV (section 7.2 of | derived from the IS-IS SRv6 End SID sub-TLV (Section 7.2 of | |||
| [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 End SID sub- | [RFC9352]) or the OSPFv3 SRv6 End SID sub-TLV (Section 8 of | |||
| TLV (section 8 of [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case | [RFC9513]) in the case of IS-IS or OSPFv3, respectively. | |||
| of IS-IS or OSPFv3 respectively. | ||||
| The TLV carries the SRv6 SIDs corresponding to the BGP PeerNode and | The TLV carries the SRv6 SIDs corresponding to the BGP PeerNode and | |||
| PeerSet SID [RFC8402] when SRv6 BGP EPE functionality is enabled in | PeerSet SIDs [RFC8402] when SRv6 BGP EPE functionality is enabled in | |||
| BGP. | BGP. | |||
| 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 (16 octets) ... | | | SID (16 octets) ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (cont ...) | | | SID (cont ...) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 6: SRv6 SID Information TLV Format | Figure 6: SRv6 SID Information TLV Format | |||
| Where: | where: | |||
| Type: 518 | Type: 518 | |||
| Length: 16. | Length: 16 | |||
| SID: 16 octet field. This field encodes the advertised SRv6 SID | SID: 16-octet field. This field encodes the advertised SRv6 SID as | |||
| as 128 bit value. | a 128-bit value. | |||
| 7. SRv6 SID Attributes | 7. SRv6 SID Attributes | |||
| This section specifies the TLVs to be carried in the BGP Link State | This section specifies the TLVs to be carried in the BGP Link State | |||
| Attribute associated with the BGP-LS SRv6 SID NLRI. | Attribute associated with the BGP-LS SRv6 SID NLRI. | |||
| 7.1. SRv6 Endpoint Behavior TLV | 7.1. SRv6 Endpoint Behavior TLV | |||
| Each SRv6 SID instantiated on an SRv6 capable node has specific | Each SRv6 SID instantiated on an SRv6-capable node has specific | |||
| instructions (called behavior) bound to it. [RFC8986] describes how | instructions (called "behavior") bound to it. [RFC8986] describes | |||
| behaviors are bound to a SID and also defines the initial set of | how behaviors are bound to a SID and also defines the initial set of | |||
| well-known behaviors. | well-known behaviors. | |||
| The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be | The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be | |||
| included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID | included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID | |||
| NLRI. | NLRI. | |||
| When advertising the SRv6 SIDs from the IGPs, the Endpoint behavior, | When advertising the SRv6 SIDs from the IGPs, the Endpoint behavior, | |||
| Flags, and Algorithm are derived from the IS-IS SRv6 End SID sub-TLV | Flags, and Algorithm are derived from the IS-IS SRv6 End SID sub-TLV | |||
| (section 7.2 of [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 | (Section 7.2 of [RFC9352]) or the OSPFv3 SRv6 End SID sub-TLV | |||
| SRv6 End SID sub-TLV (section 8 of | (Section 8 of [RFC9513]) in the case of IS-IS or OSPFv3, | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 | ||||
| respectively. | respectively. | |||
| When advertising the SRv6 SIDs corresponding to the BGP EPE | When advertising the SRv6 SIDs corresponding to the BGP EPE | |||
| functionality, the Endpoint Behavior corresponds to End.X and similar | functionality, the Endpoint behavior corresponds to End.X and similar | |||
| behaviors. When advertising the SRv6 SIDs that are locally | behaviors. When advertising the SRv6 SIDs that are locally | |||
| instantiated on the node using Direct as the Protoocl-ID, The | instantiated on the node using Direct as the Protocol-ID, the | |||
| Endpoint Behavior corresponds to any SRv6 Endpoint Behavior | Endpoint behavior corresponds to any SRv6 Endpoint behavior | |||
| associated with the node. Flags are currently not defined. The | associated with the node. Flags are currently not defined. The | |||
| algorithm value MUST be 0 unless an algorithm is associated locally | algorithm value MUST be 0 unless an algorithm is associated locally | |||
| with the SRv6 Locator from which the SID is allocated. | with the SRv6 Locator from which the SID is allocated. | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 7: SRv6 Endpoint Behavior TLV | Figure 7: SRv6 Endpoint Behavior TLV | |||
| Where: | where: | |||
| Type: 1250 | Type: 1250 | |||
| Length: 4. | ||||
| Endpoint Behavior: 2 octet field. The Endpoint Behavior code | Length: 4 | |||
| point for this SRv6 SID. Support values are those from the "SRv6 | ||||
| Endpoint Behaviors" IANA registry (as established via section 10.2 | ||||
| of [RFC8986]). | ||||
| Flags: 1 octet of flags. The flags map to the IS-IS or OSPFv3 | Endpoint Behavior: 2-octet field. The Endpoint behavior code point | |||
| encodings when advertising SRv6 SIDs corresponding to IGPs. For | for this SRv6 SID. Values are from the "SRv6 Endpoint Behaviors" | |||
| SRv6 SIDs corresponding to BGP EPE and when advertising SRv6 SID | IANA registry (Section 10.2 of [RFC8986]). | |||
| using Direct Protocol-ID, none are defined currently and they MUST | ||||
| be set to 0 when originated and ignored on receipt. | ||||
| Algorithm: 1 octet field. Algorithm associated with the SID. | Flags: 1 octet of flags. The flags map to the IS-IS or OSPFv3 | |||
| encodings when advertising SRv6 SIDs corresponding to IGPs. No | ||||
| flags are currently defined for SRv6 SIDs corresponding to BGP EPE | ||||
| or for advertisement of a SRv6 SID using Direct as the Protocol- | ||||
| ID. Undefined flags MUST be set to 0 when originating and ignored | ||||
| on receipt. | ||||
| 7.2. SRv6 BGP Peer Node SID TLV | Algorithm: 1-octet field. Algorithm associated with the SID. | |||
| The BGP PeerNode SID and PeerSet SID for SR-MPLS are specified in | 7.2. SRv6 BGP PeerNode SID TLV | |||
| The BGP PeerNode and PeerSet SIDs for SR-MPLS are specified in | ||||
| [RFC9086]. Similar Peer Node and Peer Set functionality can be | [RFC9086]. Similar Peer Node and Peer Set functionality can be | |||
| realized with SRv6 using SIDs with END.X behavior. Refer to | realized with SRv6 using SIDs with END.X behavior. Refer to | |||
| Appendix A for some differences between the signaling of these SIDs | Appendix A for some differences between the signaling of these SIDs | |||
| in SR-MPLS and SRv6. The SRv6 BGP Peer Node SID TLV is a mandatory | in SR-MPLS and SRv6. The SRv6 BGP PeerNode SID TLV is a mandatory | |||
| TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI advertised | TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI advertised | |||
| by BGP for the EPE functionality. This TLV MUST be included along | by BGP for the EPE functionality. This TLV MUST be included along | |||
| with SRv6 SIDs that are associated with the BGP PeerNode or PeerSet | with SRv6 SIDs that are associated with the BGP PeerNode or PeerSet | |||
| functionality. | functionality. | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Weight | Reserved | | | Flags | Weight | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer AS Number | | | Peer AS Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Peer BGP Identifier | | | Peer BGP Identifier | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 8: SRv6 BGP Peer Node SID TLV Format | Figure 8: SRv6 BGP PeerNode SID TLV Format | |||
| Where: | where: | |||
| * Type: 1251 | Type: 1251 | |||
| * Length: 12 | Length: 12 | |||
| * Flags: 1 octet of flags with the following definition: | ||||
| 0 1 2 3 4 5 6 7 | Flags: 1 octet of flags with the following definitions: | |||
| +-+-+-+-+-+-+-+-+ | ||||
| |B|S|P| | | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |B|S|P| | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Figure 9: SRv6 BGP EPE SID Flags Format | Figure 9: SRv6 BGP EPE SID Flags Format | |||
| - B-Flag: Backup Flag. If set, the SID is eligible to be | B-Flag: Backup Flag. If set, the SID is eligible to be protected | |||
| protected using fast reroute (FRR). The computation of the | using Fast Reroute (FRR). The computation of the backup | |||
| backup forwarding path and its association with the forwarding | forwarding path and its association with the forwarding entry | |||
| entry for the Peer BGP Identifier is implementation specific. | for the Peer BGP Identifier are implementation specific. | |||
| - S-Flag: Set Flag. When set, the S-Flag indicates that the SID | S-Flag: Set Flag. When set, the S-Flag indicates that the SID | |||
| refers to a set of BGP peering sessions (i.e., BGP Peer Set SID | refers to a set of BGP peering sessions (i.e., BGP Peer Set SID | |||
| functionality) and therefore MAY be assigned to one or more | functionality) and therefore MAY be assigned to one or more | |||
| End.X SIDs associated with BGP peer sessions. | End.X SIDs associated with BGP peering sessions. | |||
| - P-Flag: Persistent Flag: When set, the P-Flag indicates that | P-Flag: Persistent Flag. When set, the P-Flag indicates that the | |||
| the SID is persistently allocated, i.e., the value remains | SID is persistently allocated, i.e., the value remains | |||
| consistent across router restart and/or session flap. | consistent across router restart and/or session flap. | |||
| - Other bits are reserved for future use and MUST be set to 0 | Other bits are reserved for future use and MUST be set to 0 | |||
| when originated and ignored on receipt. | when originated and ignored on receipt. The flags defined | |||
| above are also used with the SRv6 End.X SID TLV when | ||||
| The flags defined above are also used with the SRv6 End.X SID TLV | advertising the SRv6 BGP Peer Adjacency SID (Section 4.1). | |||
| when advertising SRv6 BGP Peer Adjacency SID (Section 4.1). | ||||
| * Weight: 1 octet field. The value represents the weight of the SID | Weight: 1-octet field. The value represents the weight of the SID | |||
| for the purpose of load balancing. The use of the weight is | for the purpose of load balancing. The use of the weight is | |||
| defined in [RFC8402]. | defined in [RFC8402]. | |||
| * Reserved: 2 octet field. The value MUST be set to 0 when | Reserved: 2-octet field. The value MUST be set to 0 when originated | |||
| originated and ignored on receipt. | and ignored on receipt. | |||
| * Peer AS Number : 4 octets of BGP AS number of the peer router. | Peer AS Number: 4 octets of the BGP AS number of the peer router. | |||
| * Peer BGP Identifier : 4 octets of the BGP Identifier (BGP Router- | Peer BGP Identifier: 4 octets of the BGP Identifier (BGP Router-ID) | |||
| ID) of the peer router. | of the peer router. | |||
| For an SRv6 BGP EPE Peer Node SID, one instance of this TLV is | For an SRv6 BGP EPE PeerNode SID, one instance of this TLV is | |||
| associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, | associated with the SRv6 SID. For an SRv6 BGP EPE PeerSet SID, | |||
| multiple instances of this TLV (one for each peer in the “peer set”) | multiple instances of this TLV (one for each peer in the "peer set") | |||
| are associated with the SRv6 SID and the S-Flag is SET. | are associated with the SRv6 SID and the S-Flag is set. | |||
| 8. SRv6 SID Structure TLV | 8. SRv6 SID Structure TLV | |||
| The SRv6 SID Structure TLV is used to advertise the length of each | The SRv6 SID Structure TLV is used to advertise the length of each | |||
| individual part of the SRv6 SID as defined in [RFC8986]. It is an | individual part of the SRv6 SID as defined in [RFC8986]. It is an | |||
| optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and | optional TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI and | |||
| as a sub-TLV of the SRv6 End.X SID, IS-IS SRv6 LAN End.X SID, and | as a sub-TLV of the SRv6 End.X SID, IS-IS SRv6 LAN End.X SID, and | |||
| OSPFv3 SRv6 LAN End.X SID TLVs. | OSPFv3 SRv6 LAN End.X SID TLVs. | |||
| When advertising SRv6 SIDs from the IGPs, the SRv6 SID Structure | When advertising SRv6 SIDs from the IGPs, the SRv6 SID Structure | |||
| information is derived from the IS-IS SRv6 SID Structure sub-sub-TLV | information is derived from the IS-IS SRv6 SID Structure sub-sub-TLV | |||
| (section 9 of [I-D.ietf-lsr-isis-srv6-extensions]) or the OSPFv3 SRv6 | (Section 9 of [RFC9352]) or the OSPFv3 SRv6 SID Structure sub-TLV | |||
| SID Structure sub-TLV (section 10 of | (Section 10 of [RFC9513]) in the case of IS-IS or OSPFv3, | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]) in the case of IS-IS or OSPFv3 | ||||
| respectively. | respectively. | |||
| When advertising the SRv6 SIDs corresponding to the BGP EPE | When advertising the SRv6 SIDs corresponding to the BGP EPE | |||
| functionality or for advertising SRv6 SIDs using Direct Protocol-ID, | functionality or for advertising SRv6 SIDs using Direct as the | |||
| the SRv6 SID Structure information is derived from the locally | Protocol-ID, the SRv6 SID Structure information is derived from the | |||
| provisioned SRv6 SID. | locally provisioned SRv6 SID. | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LB Length | LN Length | Fun. Length | Arg. Length | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 10: SRv6 SID Structure TLV | Figure 10: SRv6 SID Structure TLV | |||
| Where: | where: | |||
| Type: 1252 | Type: 1252 | |||
| Length: 4 | Length: 4 | |||
| LB Length: 1 octet field. SRv6 SID Locator Block length in bits. | LB Length: 1-octet field. SRv6 SID Locator Block length in bits. | |||
| LN Length: 1 octet field. SRv6 SID Locator Node length in bits. | LN Length: 1-octet field. SRv6 SID Locator Node length in bits. | |||
| Fun. Length: 1 octet field. SRv6 SID Function length in bits. | Fun. Length: 1-octet field. SRv6 SID Function length in bits. | |||
| Arg. Length: 1 octet field. SRv6 SID Argument length in bits. | Arg. Length: 1-octet field. SRv6 SID Argument length in bits. | |||
| The sum of the LB Length, LN Length, Func. Length, and Arg. Length | The sum of the LB Length, LN Length, Fun. Length, and Arg. Length | |||
| MUST be less than or equal to 128. | MUST be less than or equal to 128. | |||
| 9. IANA Considerations | 9. IANA Considerations | |||
| This document requests assigning code points from the IANA "Border | Per this document, IANA has allocated code points in the "Border | |||
| Gateway Protocol - Link State (BGP-LS) Parameters" registry group as | Gateway Protocol - Link State (BGP-LS) Parameters" registry group, as | |||
| described in the subsections below. | described in the subsections below. | |||
| 9.1. BGP-LS NLRI-Types | 9.1. BGP-LS NLRI Types | |||
| The following code points have been assigned by IANA from the | IANA has assigned the following code points in the "BGP-LS NLRI | |||
| registry called "BGP-LS NLRI-Types": | Types" registry: | |||
| +------+----------------------------+---------------+ | +======+===============+===========+ | |||
| | Type | NLRI Type | Reference | | | Type | NLRI Type | Reference | | |||
| +------+----------------------------+---------------+ | +======+===============+===========+ | |||
| | 6 | SRv6 SID NLRI | this document | | | 6 | SRv6 SID NLRI | RFC 9514 | | |||
| +------+----------------------------+---------------+ | +------+---------------+-----------+ | |||
| Figure 11: SRv6 SID NLRI Type Code Point | Table 1: Addition to BGP-LS NLRI | |||
| Types Registry | ||||
| 9.2. BGP-LS TLVs | 9.2. BGP-LS NLRI and Attribute TLVs | |||
| The following TLV code points have been assigned by IANA from the | IANA has assigned the following TLV code points in the "BGP-LS NLRI | |||
| registry called "BGP-LS Node Descriptor, Link Descriptor, Prefix | and Attribute TLVs" registry: | |||
| Descriptor, and Attribute TLVs": | ||||
| +----------+----------------------------------------+---------------+ | +================+===========================+===========+ | |||
| | TLV Code | Description | Value defined | | | TLV Code Point | Description | Reference | | |||
| | Point | | in | | +================+===========================+===========+ | |||
| +----------+----------------------------------------+---------------+ | | 518 | SRv6 SID Information | RFC 9514 | | |||
| | 518 | SRv6 SID Information | this document | | +----------------+---------------------------+-----------+ | |||
| | 1038 | SRv6 Capabilities | this document | | | 1038 | SRv6 Capabilities | RFC 9514 | | |||
| | 1106 | SRv6 End.X SID | this document | | +----------------+---------------------------+-----------+ | |||
| | 1107 | IS-IS SRv6 LAN End.X SID | this document | | | 1106 | SRv6 End.X SID | RFC 9514 | | |||
| | 1108 | OSPFv3 SRv6 LAN End.X SID | this document | | +----------------+---------------------------+-----------+ | |||
| | 1162 | SRv6 Locator | this document | | | 1107 | IS-IS SRv6 LAN End.X SID | RFC 9514 | | |||
| | 1250 | SRv6 Endpoint Behavior | this document | | +----------------+---------------------------+-----------+ | |||
| | 1251 | SRv6 BGP Peer Node SID | this document | | | 1108 | OSPFv3 SRv6 LAN End.X SID | RFC 9514 | | |||
| | 1252 | SRv6 SID Structure | this document | | +----------------+---------------------------+-----------+ | |||
| +----------+----------------------------------------+---------------+ | | 1162 | SRv6 Locator | RFC 9514 | | |||
| +----------------+---------------------------+-----------+ | ||||
| | 1250 | SRv6 Endpoint Behavior | RFC 9514 | | ||||
| +----------------+---------------------------+-----------+ | ||||
| | 1251 | SRv6 BGP PeerNode SID | RFC 9514 | | ||||
| +----------------+---------------------------+-----------+ | ||||
| | 1252 | SRv6 SID Structure | RFC 9514 | | ||||
| +----------------+---------------------------+-----------+ | ||||
| Figure 12: SRv6 BGP-LS Attribute TLV Code Points | Table 2: Additions to BGP-LS NLRI and Attribute TLVs | |||
| Registry | ||||
| 9.3. SRv6 BGP EPE SID Flags | 9.3. SRv6 BGP EPE SID Flags | |||
| This document requests the creation of a new registry called "SRv6 | Per this document, IANA has created a new registry called "SRv6 BGP | |||
| BGP EPE SID Flags" under the "Border Gateway Protocol - Link State | EPE SID Flags" under the "Border Gateway Protocol - Link State (BGP- | |||
| (BGP-LS) Parameters" registry group. The allocation policy of this | LS) Parameters" registry group. The allocation policy of this | |||
| registry is "Standards Action" according to [RFC8126]. | registry is "Standards Action" according to [RFC8126]. | |||
| The following flags are defined: | The initial contents of the registry are as follows: | |||
| Bit Description Reference | +=====+==========================+===========+ | |||
| --------------------------------------------------- | | Bit | Description | Reference | | |||
| 0 Backup Flag (B-Flag) This document | +=====+==========================+===========+ | |||
| 1 Set Flag (S-Flag) This document | | 0 | Backup Flag (B-Flag) | RFC 9514 | | |||
| 2 Persistent Flag (P-Flag) This document | +-----+--------------------------+-----------+ | |||
| 3-7 Unassigned | | 1 | Set Flag (S-Flag) | RFC 9514 | | |||
| +-----+--------------------------+-----------+ | ||||
| | 2 | Persistent Flag (P-Flag) | RFC 9514 | | ||||
| +-----+--------------------------+-----------+ | ||||
| | 3-7 | Unassigned | | | ||||
| +-----+--------------------------+-----------+ | ||||
| Figure 13: SRv6 BGP EPE SID Flags | Table 3: New SRv6 BGP EPE SID Flags Registry | |||
| 10. Manageability Considerations | 10. 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 Section 6 (Manageability Considerations) 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- | Section 6.2.2 (Fault Management) of [RFC7752] now encompass the new | |||
| LS extensions defined in this document. The semantic or content | BGP-LS extensions 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 are | |||
| 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 BGP. | |||
| The SR information introduced in BGP-LS by this specification may be | The SR information introduced in BGP-LS by this specification may be | |||
| used by BGP-LS consumer applications like an SR path computation | used by BGP-LS consumer applications like an SR Path Computation | |||
| engine (PCE) to learn the SRv6 capabilities of the nodes in the | Engine (PCE) to learn the SRv6 capabilities of the nodes in the | |||
| topology and the mapping of SRv6 segments to those nodes. This can | topology and the mapping of SRv6 segments to those nodes. This can | |||
| enable the SR PCE to perform path computations based on SR for | enable the SR PCE to perform path computations based on SR for | |||
| traffic engineering use-cases and to steer traffic on paths different | traffic-engineering use cases and to steer traffic on paths different | |||
| from the underlying IGP based distributed best path computation. | from the underlying IGP-based distributed best path computation. | |||
| Errors in the encoding or decoding of the SRv6 information may result | Errors in the encoding or decoding of the SRv6 information may result | |||
| in the unavailability of such information to the SR PCE or incorrect | in the unavailability of such information to the SR PCE or incorrect | |||
| information being made available to it. This may result in the SR | information being made available to it. This may result in the SR | |||
| PCE not being able to perform the desired SR-based optimization | PCE not being able to perform the desired SR-based optimization | |||
| functionality or to perform it in an unexpected or inconsistent | functionality or performing it in an unexpected or inconsistent | |||
| manner. The handling of such errors by applications like SR PCE may | manner. The handling of such errors by applications like SR PCE may | |||
| be implementation-specific and out of the scope of this document. | be implementation specific and out of the scope of this document. | |||
| The manageability considerations related to BGP EPE functionality are | The manageability considerations related to BGP EPE functionality are | |||
| discussed in [RFC9086] in the context of SR-MPLS and they also apply | discussed in [RFC9086] in the context of SR-MPLS; they also apply to | |||
| to this document in the context of SRv6. | this document in the context of SRv6. | |||
| 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 | |||
| SRv6 features are covered by [I-D.ietf-spring-srv6-yang]. | SRv6 features are covered by [SRV6-YANG]. | |||
| 11. Security Considerations | 11. 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 SRv6 link-state information defined in this | The advertisement of the SRv6 link-state information defined in this | |||
| document presents a similar risk as associated with the existing set | document presents a similar risk as associated with the existing | |||
| of link-state information as described in [RFC7752]. The Security | link-state information as described in [RFC7752]. Section 8 | |||
| Considerations section of [RFC7752] also applies to these extensions. | (Security Considerations) of [RFC7752] also applies to these | |||
| The procedures and new TLVs defined in this document, by themselves, | extensions. The procedures and new TLVs defined in this document, by | |||
| do not affect the BGP-LS security model discussed in [RFC7752]. | themselves, do not affect the BGP-LS security model discussed in | |||
| [RFC7752]. | ||||
| The extensions introduced in this document are used to propagate IGP | The extensions introduced in this document are used to propagate IGP- | |||
| defined information ([I-D.ietf-lsr-isis-srv6-extensions] and | defined information [RFC9352] [RFC9513]. These extensions represent | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]). These extensions represent | ||||
| the advertisement of SRv6 information associated with the IGP node, | the advertisement of SRv6 information associated with the IGP node, | |||
| link, and prefix. The IGP instances originating these TLVs are | link, and prefix. The IGP instances originating these TLVs are | |||
| assumed to support all the required security and authentication | assumed to support all the required security and authentication | |||
| mechanisms (as described in [I-D.ietf-lsr-isis-srv6-extensions] and | mechanisms (as described in [RFC9352] and [RFC9513]). | |||
| [I-D.ietf-lsr-ospfv3-srv6-extensions]). | ||||
| The security considerations related to BGP EPE functionality are | The security considerations related to BGP EPE functionality are | |||
| discussed in [RFC9086] in the context of SR-MPLS and they also apply | discussed in [RFC9086] in the context of SR-MPLS, and they also apply | |||
| to this document in the context of SRv6. | to this document in the context of SRv6. | |||
| BGP-LS SRv6 extensions enable traffic engineering use-cases within | BGP-LS SRv6 extensions enable traffic-engineering use cases within | |||
| the Segment Routing domain. SR operates within a trusted domain | the SR domain. SR operates within a trusted domain [RFC8402], and | |||
| [RFC8402] and its security considerations also apply to BGP-LS | its security considerations also apply to BGP-LS sessions when | |||
| sessions when carrying SR information. The SR traffic engineering | carrying SR information. The SR traffic-engineering policies using | |||
| policies using the SIDs advertised via BGP-LS are expected to be used | the SIDs advertised via BGP-LS are expected to be used entirely | |||
| entirely within this trusted SR domain (e.g., between multiple AS or | within this trusted SR domain (e.g., between multiple AS or IGP | |||
| IGP domains within a single provider network). Therefore, precaution | domains within a single provider network). Therefore, precaution is | |||
| is necessary to ensure that the link-state information (including | necessary to ensure that the link-state information (including SRv6 | |||
| SRv6 information) advertised via BGP-LS sessions is securely limited | information) advertised via BGP-LS sessions is securely limited to | |||
| to consumers within this trusted SR domain. BGP peering sessions for | consumers within this trusted SR domain. BGP peering sessions for | |||
| address-families other than Link-State may be set up to routers | address families other than Link State may be set up to routers | |||
| outside the SR domain. The isolation of BGP-LS peering sessions is | outside the SR domain. The isolation of BGP-LS peering sessions is | |||
| RECOMMENDED to ensure that BGP-LS topology information (including the | RECOMMENDED to ensure that BGP-LS topology information (including the | |||
| newly added SR information) is not advertised to an external BGP | newly added SR information) is not advertised to an external BGP | |||
| peering session outside the SR domain. | peering session outside the SR domain. | |||
| 12. Contributors | 12. References | |||
| James Uttaro | ||||
| AT&T | ||||
| USA | ||||
| Email: ju1738@att.com | ||||
| Hani Elmalky | ||||
| Ericsson | ||||
| USA | ||||
| Email: hani.elmalky@gmail.com | ||||
| Arjun Sreekantiah | ||||
| Individual | ||||
| USA | ||||
| Email: arjunhrs@gmail.com | ||||
| Les Ginsberg | ||||
| Cisco Systems | ||||
| USA | ||||
| Email: ginsberg@cisco.com | ||||
| Shunwan Zhuang | ||||
| Huawei | ||||
| China | ||||
| Email: zhuangshunwan@huawei.com | ||||
| 13. Acknowledgements | ||||
| The authors would like to thank Peter Psenak, Arun Babu, Pablo | ||||
| Camarillo, Francois Clad, Peng Shaofu, Cheng Li, Dhruv Dhody, Tom | ||||
| Petch, and Dan Romascanu for their review of this document and their | ||||
| comments. The authors would also like to thank Susan Hares for her | ||||
| shepherd review and Adrian Farrel for his detailed Routing | ||||
| Directorate review. | ||||
| 14. References | ||||
| 14.1. Normative References | ||||
| [I-D.ietf-lsr-isis-srv6-extensions] | ||||
| Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | ||||
| Z. Hu, "IS-IS Extensions to Support Segment Routing over | ||||
| IPv6 Dataplane", Work in Progress, Internet-Draft, draft- | ||||
| ietf-lsr-isis-srv6-extensions-19, 14 November 2022, | ||||
| <https://www.ietf.org/archive/id/draft-ietf-lsr-isis-srv6- | ||||
| extensions-19.txt>. | ||||
| [I-D.ietf-lsr-ospfv3-srv6-extensions] | 12.1. Normative References | |||
| Li, Z., Hu, Z., Talaulikar, K., and P. Psenak, "OSPFv3 | ||||
| Extensions for SRv6", Work in Progress, Internet-Draft, | ||||
| draft-ietf-lsr-ospfv3-srv6-extensions-09, 14 January 2023, | ||||
| <https://www.ietf.org/archive/id/draft-ietf-lsr- | ||||
| ospfv3-srv6-extensions-09.txt>. | ||||
| [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>. | |||
| [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
| S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
| Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
| DOI 10.17487/RFC7752, March 2016, | DOI 10.17487/RFC7752, March 2016, | |||
| skipping to change at page 24, line 17 ¶ | skipping to change at line 1010 ¶ | |||
| (BGP-LS) Extensions for Segment Routing", RFC 9085, | (BGP-LS) Extensions for Segment Routing", RFC 9085, | |||
| DOI 10.17487/RFC9085, August 2021, | DOI 10.17487/RFC9085, August 2021, | |||
| <https://www.rfc-editor.org/info/rfc9085>. | <https://www.rfc-editor.org/info/rfc9085>. | |||
| [RFC9086] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K., | [RFC9086] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Patel, K., | |||
| Ray, S., and J. Dong, "Border Gateway Protocol - Link | Ray, S., and J. Dong, "Border Gateway Protocol - Link | |||
| State (BGP-LS) Extensions for Segment Routing BGP Egress | State (BGP-LS) Extensions for Segment Routing BGP Egress | |||
| Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August | Peer Engineering", RFC 9086, DOI 10.17487/RFC9086, August | |||
| 2021, <https://www.rfc-editor.org/info/rfc9086>. | 2021, <https://www.rfc-editor.org/info/rfc9086>. | |||
| 14.2. Informative References | [RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., | |||
| and Z. Hu, "IS-IS Extensions to Support Segment Routing | ||||
| over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, | ||||
| February 2023, <https://www.rfc-editor.org/info/rfc9352>. | ||||
| [I-D.ietf-spring-srv6-yang] | [RFC9513] Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak, | |||
| Raza, S., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, | "OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)", | |||
| H. C., Voyer, D., Matsushima, S., Horiba, K., | RFC 9513, DOI 10.17487/RFC9513, November 2023, | |||
| Rajamanickam, J., and A. Abdelsalam, "YANG Data Model for | <https://www.rfc-editor.org/info/rfc9513>. | |||
| SRv6 Base and Static", Work in Progress, Internet-Draft, | ||||
| draft-ietf-spring-srv6-yang-02, 23 September 2022, | 12.2. Informative References | |||
| <https://www.ietf.org/archive/id/draft-ietf-spring-srv6- | ||||
| yang-02.txt>. | ||||
| [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>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
| <https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
| [SRV6-YANG] | ||||
| Raza, S., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, | ||||
| H. C., Voyer, D., Matsushima, S., Horiba, K., | ||||
| Rajamanickam, J., and A. Abdelsalam, "YANG Data Model for | ||||
| SRv6 Base and Static", Work in Progress, Internet-Draft, | ||||
| draft-ietf-spring-srv6-yang-02, 23 September 2022, | ||||
| <https://datatracker.ietf.org/doc/html/draft-ietf-spring- | ||||
| srv6-yang-02>. | ||||
| Appendix A. Differences with BGP-EPE for SR-MPLS | Appendix A. Differences with BGP-EPE for SR-MPLS | |||
| The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as | The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as | |||
| defined in this document differ from the signaling of SR-MPLS BGP-EPE | defined in this document differs from the signaling of SR-MPLS BGP- | |||
| SIDs as specified in [RFC9086]. This section provides a high-level | EPE SIDs as specified in [RFC9086]. This section provides a high- | |||
| overview of the same. | level overview of the same. | |||
| There is no difference in the advertisement of the BGP Peer Adjacency | There is no difference in the advertisement of the BGP Peer Adjacency | |||
| SID in both SR-MPLS and SRv6 and it is advertised as an attribute of | SID in both SR-MPLS and SRv6, and it is advertised as an attribute of | |||
| the Link NLRI which identifies a specific Layer 3 interface on the | the Link NLRI, which identifies a specific Layer 3 interface on the | |||
| BGP Speaker. The difference is in the advertisement of the BGP Peer | BGP Speaker. The difference is in the advertisement of the BGP | |||
| Node and Peer Set SIDs. | PeerNode and PeerSet SIDs. | |||
| In case of SR-MPLS, an additional Link NLRI is required to be | In the case of SR-MPLS, an additional Link NLRI is required to be | |||
| advertised corresponding to each BGP Peering session on the node. | advertised corresponding to each BGP peering session on the node. | |||
| Note that, this is not the same Link NLRI associated with the actual | Note that this is not the same Link NLRI associated with the actual | |||
| layer 3 interface even when the peering is set up using the interface | Layer 3 interface even when the peering is set up using the interface | |||
| IP addresses. These BGP-LS Link NLRIs are not really links in the | IP addresses. These BGP-LS Link NLRIs are not really links in the | |||
| conventional link-state routing data model but instead identify BGP | conventional link-state routing data model but instead identify BGP | |||
| peering sessions. The BGP Peer Node and/or Peer Set SIDs associated | peering sessions. The BGP PeerNode and/or PeerSet SIDs associated | |||
| with that peering session are advertised as attributes associated | with that peering session are advertised as attributes associated | |||
| with this peering Link NLRI. In the case of SRv6, each BGP Peer Node | with this peering Link NLRI. In the case of SRv6, each BGP PeerNode | |||
| or Peer Set SID is considered to be associated with the BGP Speaker | or PeerSet SID is considered to be associated with the BGP Speaker | |||
| node and is advertised using the BGP-LS SRv6 SID NLRI while the | Node and is advertised using the BGP-LS SRv6 SID NLRI, while the | |||
| peering session information is advertised as attributes associated | peering session information is advertised as attributes associated | |||
| with it. | with it. | |||
| The advertisement of the BGP Peer Set SID for SR-MPLS is done by | The advertisement of the BGP PeerSet SID for SR-MPLS is done by | |||
| including that SID as an attribute in all the Link NLRIs | including that SID as an attribute in all the Link NLRIs | |||
| corresponding to the peering sessions that are part of the "set". | corresponding to the peering sessions that are part of the "set". | |||
| The advertisement of the BGP Peer Set SID for SRv6 is advertised | The advertisement of the BGP PeerSet SID for SRv6 is advertised using | |||
| using a single SRv6 SID NLRI and all the peers associated with that | a single SRv6 SID NLRI, and all the peers associated with that "set" | |||
| "set" are indicated as attributes associated with the NLRI. | are indicated as attributes associated with the NLRI. | |||
| Acknowledgements | ||||
| The authors would like to thank Peter Psenak, Arun Babu, Pablo | ||||
| Camarillo, Francois Clad, Peng Shaofu, Cheng Li, Dhruv Dhody, Tom | ||||
| Petch, and Dan Romascanu for their review of this document and their | ||||
| comments. The authors would also like to thank Susan Hares for her | ||||
| shepherd review and Adrian Farrel for his detailed Routing Area | ||||
| Directorate review. | ||||
| Contributors | ||||
| James Uttaro | ||||
| AT&T | ||||
| United States of America | ||||
| Email: ju1738@att.com | ||||
| Hani Elmalky | ||||
| Ericsson | ||||
| United States of America | ||||
| Email: hani.elmalky@gmail.com | ||||
| Arjun Sreekantiah | ||||
| Individual | ||||
| United States of America | ||||
| Email: arjunhrs@gmail.com | ||||
| Les Ginsberg | ||||
| Cisco Systems | ||||
| United States of America | ||||
| Email: ginsberg@cisco.com | ||||
| Shunwan Zhuang | ||||
| Huawei | ||||
| China | ||||
| Email: zhuangshunwan@huawei.com | ||||
| Authors' Addresses | Authors' Addresses | |||
| Gaurav Dawra | Gaurav Dawra | |||
| United States of America | United States of America | |||
| Email: gdawra.ietf@gmail.com | Email: gdawra.ietf@gmail.com | |||
| Clarence Filsfils | Clarence Filsfils | |||
| Cisco Systems | Cisco Systems | |||
| Belgium | Belgium | |||
| Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
| Ketan Talaulikar (editor) | Ketan Talaulikar (editor) | |||
| Cisco Systems | Cisco Systems | |||
| India | India | |||
| Email: ketant.ietf@gmail.com | Email: ketant.ietf@gmail.com | |||
| Mach Chen | Mach(Guoyi) Chen | |||
| Huawei | Huawei | |||
| China | China | |||
| Email: mach.chen@huawei.com | Email: mach.chen@huawei.com | |||
| Daniel Bernier | Daniel Bernier | |||
| Bell Canada | Bell Canada | |||
| Canada | Canada | |||
| Email: daniel.bernier@bell.ca | Email: daniel.bernier@bell.ca | |||
| Bruno Decraene | Bruno Decraene | |||
| Orange | Orange | |||
| France | France | |||
| Email: bruno.decraene@orange.com | Email: bruno.decraene@orange.com | |||
| End of changes. 193 change blocks. | ||||
| 608 lines changed or deleted | 595 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||