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. |