rfc9819v1.txt | rfc9819.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) K. Talaulikar | Internet Engineering Task Force (IETF) K. Talaulikar | |||
Request for Comments: 9819 K. Raza | Request for Comments: 9819 K. Raza | |||
Updates: 9252 Cisco Systems | Updates: 9252 Cisco Systems | |||
Category: Standards Track J. Rabadan | Category: Standards Track J. Rabadan | |||
ISSN: 2070-1721 Nokia | ISSN: 2070-1721 Nokia | |||
W. Lin | W. Lin | |||
Juniper Networks | Juniper Networks | |||
July 2025 | July 2025 | |||
Segment Routing over IPv6 Argument Signaling for BGP Services | Argument Signaling for BGP Services in Segment Routing over IPv6 (SRv6) | |||
Abstract | Abstract | |||
RFC 9252 defines procedures and messages for BGP Overlay Services for | RFC 9252 defines procedures and messages for BGP overlay services for | |||
Segment Routing over IPv6 (SRv6), including Layer 3 Virtual Private | Segment Routing over IPv6 (SRv6), including Layer 3 Virtual Private | |||
Network (L3VPN), Ethernet VPN (EVPN), and global Internet routing. | Network (L3VPN), Ethernet VPN (EVPN), and global Internet routing. | |||
This document updates RFC 9252 and provides more detailed | This document updates RFC 9252 and provides more detailed | |||
specifications for the signaling and processing of SRv6 Segment | specifications for the signaling and processing of SRv6 Segment | |||
Identifier advertisements for BGP Overlay Service routes associated | Identifier advertisements for BGP overlay service routes associated | |||
with SRv6 Endpoint Behaviors that support arguments. | with SRv6 Endpoint Behaviors that support arguments. | |||
Status of This Memo | Status of This Memo | |||
This is an Internet Standards Track document. | This is an Internet Standards Track document. | |||
This document is a product of the Internet Engineering Task Force | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
skipping to change at line 79 ¶ | skipping to change at line 79 ¶ | |||
1. Introduction | 1. Introduction | |||
SRv6 refers to Segment Routing instantiated over the IPv6 data plane | SRv6 refers to Segment Routing instantiated over the IPv6 data plane | |||
[RFC8402]. An SRv6 Segment Identifier (SID) [RFC8402] can be | [RFC8402]. An SRv6 Segment Identifier (SID) [RFC8402] can be | |||
associated with one of the service-specific SRv6 Endpoint Behaviors | associated with one of the service-specific SRv6 Endpoint Behaviors | |||
on the advertising Provider Edge (PE) router for Layer 3 Virtual | on the advertising Provider Edge (PE) router for Layer 3 Virtual | |||
Private Network (L3VPN), global Internet routing, and Ethernet VPN | Private Network (L3VPN), global Internet routing, and Ethernet VPN | |||
(EVPN) services as defined in [RFC8986]. Such SRv6 SIDs are referred | (EVPN) services as defined in [RFC8986]. Such SRv6 SIDs are referred | |||
to as SRv6 Service SIDs. [RFC9252] defines the procedures and | to as SRv6 Service SIDs. [RFC9252] defines the procedures and | |||
messages for the signaling of BGP Overlay Services including L3VPN, | messages for the signaling of BGP overlay services including L3VPN, | |||
EVPN, and Internet services using SRv6. | EVPN, and Internet services using SRv6. | |||
For certain EVPN services, Section 4.12 of [RFC8986] introduced the | For certain EVPN services, Section 4.12 of [RFC8986] introduced the | |||
End.DT2M SRv6 Endpoint Behavior, which utilizes arguments (i.e., | End.DT2M SRv6 Endpoint Behavior, which utilizes arguments (i.e., | |||
Arg.FE2). [RFC9252] subsequently specified the encoding and | Arg.FE2). [RFC9252] subsequently specified the encoding and | |||
signaling procedures for the SRv6 SID and its associated argument via | signaling procedures for the SRv6 SID and its associated argument via | |||
EVPN Route Type 3 and EVPN Route Type 1, respectively. However, | EVPN Route Type 3 and EVPN Route Type 1, respectively. However, | |||
during implementation and interoperability testing, it was observed | during implementation and interoperability testing, it was observed | |||
that the specifications outlined in [RFC9252] lack sufficient detail, | that the specifications outlined in [RFC9252] lack sufficient detail, | |||
leading to ambiguities in interpretation and implementation. | leading to ambiguities in interpretation and implementation. | |||
This document updates [RFC9252] by providing additional details and | This document updates [RFC9252] by providing additional details and | |||
clarifications regarding the signaling of SRv6 Service SIDs | clarifications regarding the signaling of SRv6 Service SIDs | |||
associated with SRv6 Endpoint Behaviors that utilize arguments. | associated with SRv6 Endpoint Behaviors that utilize arguments. | |||
While the focus is primarily on the signaling of the End.DT2M SRv6 | While the focus is primarily on the signaling of the End.DT2M SRv6 | |||
Endpoint Behavior via EVPN Route Types 1 and 3, the procedures | Endpoint Behavior via EVPN Route Types 1 and 3, the procedures | |||
described herein are also applicable to other similar endpoint | described herein are also applicable to other similar SRv6 Endpoint | |||
behaviors with arguments that may be signaled using BGP. | Behaviors with arguments that may be signaled using BGP. | |||
Section 6.3 of [RFC9252] specifies that the SRv6 Service SID used in | Section 6.3 of [RFC9252] specifies that the SRv6 Service SID used in | |||
the data plane is derived by applying a bitwise logical-OR operation | the data plane is derived by applying a bitwise logical-OR operation | |||
between the SID with an argument signaled via Route Type 1 and the | between the SID with an argument signaled via EVPN Route Type 1 and | |||
SID with the 'Locator + Function' components signaled via Route Type | the SID with the 'Locator + Function' components signaled via EVPN | |||
3. However, this approach assumes a uniform SID structure across all | Route Type 3. However, this approach assumes a uniform SID structure | |||
SIDs advertised via EVPN Route Types 1 and 3. This assumption is not | across all SIDs advertised via EVPN Route Types 1 and 3. This | |||
universally valid, and the procedures in this document remove this | assumption is not universally valid, and the procedures in this | |||
restriction, ensuring greater flexibility in SRv6 SID signaling. | document remove this restriction, ensuring greater flexibility in | |||
SRv6 SID signaling. | ||||
The descriptions and examples presented in this document do not | The descriptions and examples presented in this document do not | |||
utilize the Transposition Scheme (see Section 4 of [RFC9252]). | utilize the Transposition Scheme (see Section 4 of [RFC9252]). | |||
Consequently, the Transposition Offset (TPOS-O) and Transposition | Consequently, the Transposition Offset (TPOS-O) and Transposition | |||
Length (TPOS-L) are set to zero, and references to MPLS label fields | Length (TPOS-L) are set to zero, and references to MPLS label fields | |||
where the function or argument portions may be transposed are | where the function or argument portions may be transposed are | |||
omitted. However, the same examples could be applied with the | omitted. However, the same examples could be applied with the | |||
Transposition Scheme. This document does not introduce any | Transposition Scheme. This document does not introduce any | |||
modifications to the use of the Transposition Scheme in the signaling | modifications to the use of the Transposition Scheme in the signaling | |||
of EVPN routes. Implementations are expected to adhere to the | of EVPN routes. Implementations are expected to adhere to the | |||
skipping to change at line 140 ¶ | skipping to change at line 141 ¶ | |||
Section 3.1 of [RFC8986] defines the format of an SRv6 SID as | Section 3.1 of [RFC8986] defines the format of an SRv6 SID as | |||
consisting of three components: Locator (LOC), Function (FUNC), and | consisting of three components: Locator (LOC), Function (FUNC), and | |||
Argument (ARG). For SRv6 SIDs associated with SRv6 Endpoint | Argument (ARG). For SRv6 SIDs associated with SRv6 Endpoint | |||
Behaviors that do not support arguments, the ARG component is not | Behaviors that do not support arguments, the ARG component is not | |||
present. Consequently, all bits following the FUNC portion MUST be | present. Consequently, all bits following the FUNC portion MUST be | |||
set to zero, and the Argument Length (AL) MUST be zero. | set to zero, and the Argument Length (AL) MUST be zero. | |||
Certain SRv6 Endpoint Behaviors (e.g., End.DT2M) support arguments. | Certain SRv6 Endpoint Behaviors (e.g., End.DT2M) support arguments. | |||
As specified in Section 3.2.1 of [RFC9252], the SRv6 SID Structure | As specified in Section 3.2.1 of [RFC9252], the SRv6 SID Structure | |||
Sub-Sub-TLV MUST be included when signaling an SRv6 SID corresponding | Sub-Sub-TLV MUST be included when signaling an SRv6 SID corresponding | |||
to an endpoint behavior that supports argument. This ensures that | to an SRv6 Endpoint Behavior that supports argument. This ensures | |||
the receiving router can perform consistency verification of the | that the receiving router can perform consistency verification of the | |||
argument and correctly encode the ARG value within the SRv6 SID. | argument and correctly encode the ARG value within the SRv6 SID. | |||
In certain use cases, the SRv6 SID can be signaled as a complete | In certain use cases, the SRv6 SID can be signaled as a complete | |||
structure, with the LOC:FUNC:ARG components fully encoded within the | structure, with the LOC:FUNC:ARG components fully encoded within the | |||
SID. However, there are scenarios where the SRv6 SID, consisting | SID. However, there are scenarios where the SRv6 SID, consisting | |||
only of the LOC:FUNC portion, is signaled in one advertisement, while | only of the LOC:FUNC portion, is signaled in one advertisement, while | |||
the ARG value is either signaled through a separate advertisement or | the ARG value is either signaled through a separate advertisement or | |||
learned via an alternative mechanism. It is the responsibility of | learned via an alternative mechanism. It is the responsibility of | |||
the SRv6 source node to append the ARG component to the LOC:FUNC | the SRv6 source node to append the ARG component to the LOC:FUNC | |||
portion, thereby constructing the complete SRv6 SID (LOC:FUNC:ARG). | portion, thereby constructing the complete SRv6 SID (LOC:FUNC:ARG). | |||
skipping to change at line 178 ¶ | skipping to change at line 179 ¶ | |||
node that owns the SRv6 SID and is advertising the LOC:FUNC portion | node that owns the SRv6 SID and is advertising the LOC:FUNC portion | |||
of that SID or by another node/mechanism. The advertisement of the | of that SID or by another node/mechanism. The advertisement of the | |||
ARG value MUST specify the size of the argument, its value, and the | ARG value MUST specify the size of the argument, its value, and the | |||
associated SRv6 Endpoint Behavior of the SID. Additionally, the | associated SRv6 Endpoint Behavior of the SID. Additionally, the | |||
specification of the association of the ARG advertisement with the | specification of the association of the ARG advertisement with the | |||
corresponding SID(s) for which the argument applies is REQUIRED. | corresponding SID(s) for which the argument applies is REQUIRED. | |||
3. End.DT2M Signaling for EVPN ESI Filtering | 3. End.DT2M Signaling for EVPN ESI Filtering | |||
As specified in [RFC9252], the LOC:FUNC portion of the SRv6 SID with | As specified in [RFC9252], the LOC:FUNC portion of the SRv6 SID with | |||
End.DT2M behavior is signaled via EVPN Route Type 3 (Inclusive | End.DT2M behavior is signaled via the Inclusive Multicast Ethernet | |||
Multicast Ethernet Tag route), while the Ethernet Segment Identifier | Tag route, while the Ethernet Segment Identifier (ESI) Filtering ARG | |||
(ESI) Filtering ARG (denoted as Arg.FE2 in [RFC8986]) is signaled via | (denoted as Arg.FE2 in [RFC8986]) is signaled via the Ethernet A-D | |||
EVPN Route Type 1 (Ethernet Auto-Discovery per Ethernet Segment (A-D | (Auto-Discovery) per ES route. The following subsections provide a | |||
per ES) route). The following subsections provide a more detailed | more detailed specification of the signaling and processing | |||
specification of the signaling and processing mechanisms compared to | mechanisms compared to [RFC9252]. | |||
[RFC9252]. | ||||
ESI Filtering is a split-horizon mechanism used for multihoming | ESI Filtering is a split-horizon mechanism used for multihoming | |||
[RFC7432] or Ethernet-Tree (E-Tree) procedures [RFC8317]. ESI | [RFC7432] or Ethernet-Tree (E-Tree) procedures [RFC8317]. ESI | |||
Filtering is not applicable in scenarios where: | Filtering is not applicable in scenarios where: | |||
* No E-Tree leaf Broadcast, Unknown Unicast, or Multicast (BUM) | * No E-Tree leaf Broadcast, Unknown Unicast, or Multicast (BUM) | |||
traffic exists, | traffic exists, | |||
* No multihoming is present, | * No multihoming is present, | |||
skipping to change at line 209 ¶ | skipping to change at line 209 ¶ | |||
In this document, "ESI Filtering" is used as a general reference to | In this document, "ESI Filtering" is used as a general reference to | |||
the procedure performed by the disposition Provider Edge (PE) router | the procedure performed by the disposition Provider Edge (PE) router | |||
to prevent forwarding of BUM traffic to local Ethernet Segments or | to prevent forwarding of BUM traffic to local Ethernet Segments or | |||
local leaf attachment circuits, based on the presence of the ESI | local leaf attachment circuits, based on the presence of the ESI | |||
Filtering ARG. | Filtering ARG. | |||
The signaling and processing descriptions outlined in the following | The signaling and processing descriptions outlined in the following | |||
sections also apply to End.DT2M behavior flavors designed for SRv6 | sections also apply to End.DT2M behavior flavors designed for SRv6 | |||
SID list compression [RFC9800]. In deployments where a mix of | SID list compression [RFC9800]. In deployments where a mix of | |||
compressed and uncompressed SIDs is present, the behaviors advertised | compressed and uncompressed SIDs is present, the behaviors advertised | |||
in the Ethernet Auto-Discovery (A-D) per ES routes (EVPN Route Type | in the Ethernet A-D per ES routes and Inclusive Multicast Ethernet | |||
1) and Inclusive Multicast Ethernet Tag routes (EVPN Route Type 3) | Tag routes MAY consist of a combination of compressed and | |||
MAY consist of a combination of compressed and uncompressed End.DT2M | uncompressed End.DT2M behavior flavors. The procedures in this | |||
behavior flavors. The procedures in this document remain valid for | document remain valid for such deployments provided that the AL | |||
such deployments provided that the AL consistency checks between EVPN | consistency checks between EVPN Route Type 1 and EVPN Route Type 3, | |||
Route Type 1 and EVPN Route Type 3, as described in the following | as described in the following subsections, are satisfied. | |||
subsections, are satisfied. | ||||
3.1. Advertisement of Ethernet A-D per ES Route | 3.1. Advertisement of Ethernet A-D per ES Route | |||
Ethernet Auto-Discovery (A-D) per ES routes (EVPN Route Type 1), as | Ethernet A-D per ES routes, as defined in [RFC7432], are utilized to | |||
defined in [RFC7432], are utilized to enable split-horizon filtering | enable split-horizon filtering and fast convergence in multihoming | |||
and fast convergence in multihoming scenarios. Additionally, A-D per | scenarios. Additionally, Ethernet A-D per ES routes facilitate | |||
ES routes facilitate egress filtering of BUM traffic originating from | egress filtering of BUM traffic originating from a leaf, as specified | |||
a Leaf, as specified in [RFC8317]. | in [RFC8317]. | |||
When ESI Filtering is not in use, no ESI Filtering ARG is required to | When ESI Filtering is not in use, no ESI Filtering ARG is required to | |||
be conveyed. However, for backward compatibility and consistency | be conveyed. However, for backward compatibility and consistency | |||
with [RFC9252], the advertisement of this route SHOULD include the | with [RFC9252], the advertisement of this route SHOULD include the | |||
BGP Prefix-SID Attribute with an SRv6 L2 Service TLV carrying an SRv6 | BGP Prefix-SID attribute with an SRv6 L2 Service TLV carrying an SRv6 | |||
Service SID set to ::0 in the SRv6 SID Information Sub-TLV, with the | Service SID set to ::0 in the SRv6 SID Information Sub-TLV, with the | |||
SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M behavior | SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M behavior | |||
supports the use of an ARG, an SRv6 SID Structure Sub-Sub-TLV MUST be | supports the use of an ARG, an SRv6 SID Structure Sub-Sub-TLV MUST be | |||
included. As no ARG value is required to be signaled in this case, | included. As no ARG value is required to be signaled in this case, | |||
the AL MUST be set to 0. | the AL MUST be set to 0. | |||
The following is an example representation of the BGP Prefix-SID | The following is an example representation of the BGP Prefix-SID | |||
Attribute encoding in this case: | attribute encoding in this case: | |||
BGP Prefix SID Attr: | BGP Prefix-SID attribute: | |||
SRv6 L2 Service TLV: | SRv6 L2 Service TLV: | |||
SRv6 SID Information Sub-TLV: | SRv6 SID Information Sub-TLV: | |||
SID: :: | SID: :: | |||
Behavior: End.DT2M | Behavior: End.DT2M | |||
SRv6 SID Structure Sub-Sub-TLV: | SRv6 SID Structure Sub-Sub-TLV: | |||
LBL: 32, LNL: 16, FL: 16, AL: 0, TPOS-L: 0, TPOS-O: 0 | LBL: 32, LNL: 16, FL: 16, AL: 0, TPOS-L: 0, TPOS-O: 0 | |||
Figure 1: EVPN Route Type 1 Without ARG for ESI Filtering | Figure 1: EVPN Route Type 1 Without ARG for ESI Filtering | |||
When ESI Filtering is in use, the advertisement of this route MUST | When ESI Filtering is in use, the advertisement of this route MUST | |||
include the BGP Prefix-SID Attribute with an SRv6 L2 Service TLV | include the BGP Prefix-SID attribute with an SRv6 L2 Service TLV | |||
carrying the SRv6 Service SID that contains the ESI Filtering ARG | carrying the SRv6 Service SID that contains the ESI Filtering ARG | |||
value within the SRv6 SID Information Sub-TLV (when not using the | value within the SRv6 SID Information Sub-TLV (when not using the | |||
Transposition Scheme), with the SRv6 Endpoint Behavior set to | Transposition Scheme), with the SRv6 Endpoint Behavior set to | |||
End.DT2M. Since the End.DT2M behavior supports the use of an ARG, an | End.DT2M. Since the End.DT2M behavior supports the use of an ARG, an | |||
SRv6 SID Structure Sub-Sub-TLV MUST be included. Additionally, as a | SRv6 SID Structure Sub-Sub-TLV MUST be included. Additionally, as a | |||
non-zero ARG value is being signaled, the AL MUST be set to the size | non-zero ARG value is being signaled, the AL MUST be set to the size | |||
of the ARG, and the size SHOULD be a multiple of 8 to ensure | of the ARG, and the size SHOULD be a multiple of 8 to ensure | |||
consistency across implementations for ease of operations. The SRv6 | consistency across implementations for ease of operations. The SRv6 | |||
SID Structure Sub-Sub-TLV MUST set the LBL, LNL, and FL fields with | SID Structure Sub-Sub-TLV MUST set the LBL, LNL, and FL fields with | |||
values that indicate the offset at which the ARG value is encoded | values that indicate the offset at which the ARG value is encoded | |||
within the 128-bit SRv6 SID. | within the 128-bit SRv6 SID. | |||
The following is an example representation of the BGP Prefix-SID | The following is an example representation of the BGP Prefix-SID | |||
Attribute encoding in this scenario for a 16-bit argument value of | attribute encoding in this scenario for a 16-bit argument value of | |||
'aaaa': | 'aaaa': | |||
BGP Prefix SID Attr: | BGP Prefix-SID attribute: | |||
SRv6 L2 Service TLV: | SRv6 L2 Service TLV: | |||
SRv6 SID Information Sub-TLV: | SRv6 SID Information Sub-TLV: | |||
SID: ::aaaa:0:0:0 | SID: ::aaaa:0:0:0 | |||
Behavior: End.DT2M | Behavior: End.DT2M | |||
SRv6 SID Structure Sub-Sub-TLV: | SRv6 SID Structure Sub-Sub-TLV: | |||
LBL: 32, LNL: 16, FL: 16, AL: 16, TPOS-L: 0, TPOS-O: 0 | LBL: 32, LNL: 16, FL: 16, AL: 16, TPOS-L: 0, TPOS-O: 0 | |||
Figure 2: EVPN Route Type 1 with ARG for ESI Filtering | Figure 2: EVPN Route Type 1 with ARG for ESI Filtering | |||
In the examples above, it would have been possible to set the LBL, | In the examples above, it would have been possible to set the LBL, | |||
LNL, and FL values to 0 and to encode the SRv6 SID as either ::0 or | LNL, and FL values to 0 and to encode the SRv6 SID as either ::0 or | |||
aaaa::. However, such an encoding would not be backward compatible | aaaa::. However, such an encoding would not be backward compatible | |||
with [RFC9252], as further detailed in Section 4. | with [RFC9252], as further detailed in Section 4. | |||
Therefore, it is REQUIRED that the LBL, LNL, and FL values be set in | Therefore, it is REQUIRED that the LBL, LNL, and FL values be set in | |||
accordance with the SID structure for End.DT2M SRv6 Service SIDs, | accordance with the SID structure for End.DT2M SRv6 Service SIDs, | |||
ensuring compliance with [RFC9252]. | ensuring compliance with [RFC9252]. | |||
3.2. Advertisement of Inclusive Multicast Ethernet Tag Route | 3.2. Advertisement of Inclusive Multicast Ethernet Tag Route | |||
The Inclusive Multicast Ethernet Tag route (EVPN Route Type 3), as | The Inclusive Multicast Ethernet Tag route, as defined in [RFC7432], | |||
defined in [RFC7432], is used to advertise multicast traffic | is used to advertise multicast traffic reachability information via | |||
reachability information via Multiprotocol BGP (MP-BGP) to all other | Multiprotocol BGP (MP-BGP) to all other PE routers within a given | |||
PE routers within a given EVPN instance. When utilizing SRv6 | EVPN instance. When utilizing SRv6 transport, the advertisement of | |||
transport, the advertisement of this route MUST include the BGP | this route MUST include the BGP Prefix-SID attribute with an SRv6 L2 | |||
Prefix-SID Attribute with an SRv6 L2 Service TLV to indicate the use | Service TLV to indicate the use of SRv6. | |||
of SRv6. | ||||
Regardless of whether ESI Filtering is in use, the SRv6 Service SID | Regardless of whether ESI Filtering is in use, the SRv6 Service SID | |||
MUST include only the LOC:FUNC portion within the SRv6 SID | MUST include only the LOC:FUNC portion within the SRv6 SID | |||
Information Sub-TLV (when not utilizing the Transposition Scheme), | Information Sub-TLV (when not utilizing the Transposition Scheme), | |||
with the SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M | with the SRv6 Endpoint Behavior set to End.DT2M. Since the End.DT2M | |||
behavior supports the use of an ARG, an SRv6 SID Structure Sub-Sub- | behavior supports the use of an ARG, an SRv6 SID Structure Sub-Sub- | |||
TLV MUST be included. The LBL, LNL, and FL fields MUST be set to | TLV MUST be included. The LBL, LNL, and FL fields MUST be set to | |||
indicate the structure of the SRv6 Service SID being advertised. | indicate the structure of the SRv6 Service SID being advertised. | |||
When ESI Filtering is not in use, no ARG is expected to be received | When ESI Filtering is not in use, no ARG is expected to be received | |||
by the router along with the advertised SRv6 Service SID. Therefore, | by the router along with the advertised SRv6 Service SID. Therefore, | |||
the AL MUST be set to 0. | the AL MUST be set to 0. | |||
The following is an example representation of the BGP Prefix-SID | The following is an example representation of the BGP Prefix-SID | |||
Attribute encoding in this case: | attribute encoding in this case: | |||
BGP Prefix SID Attr: | BGP Prefix-SID attribute: | |||
SRv6 L2 Service TLV: | SRv6 L2 Service TLV: | |||
SRv6 SID Information Sub-TLV: | SRv6 SID Information Sub-TLV: | |||
SID: 2001:db8:1:fbd1:: | SID: 2001:db8:1:fbd1:: | |||
Behavior: End.DT2M | Behavior: End.DT2M | |||
SRv6 SID Structure Sub-Sub-TLV: | SRv6 SID Structure Sub-Sub-TLV: | |||
LBL: 32, LNL: 16, FL: 16, AL: 0, TPOS-L: 0, TPOS-O: 0 | LBL: 32, LNL: 16, FL: 16, AL: 0, TPOS-L: 0, TPOS-O: 0 | |||
Figure 3: EVPN Route Type 3 Without ESI Filtering | Figure 3: EVPN Route Type 3 Without ESI Filtering | |||
When ESI Filtering is in use, the router expects to receive traffic | When ESI Filtering is in use, the router expects to receive traffic | |||
in the data path to the SRv6 Service SID that it has signaled along | in the data path to the SRv6 Service SID that it has signaled along | |||
with the ARG portion embedded in it. Consequently, the AL MUST be | with the ARG portion embedded in it. Consequently, the AL MUST be | |||
set to the size of the ARG supported by the advertising router for | set to the size of the ARG supported by the advertising router for | |||
the specific SRv6 Service SID. The AL value is unique per End.DT2M | the specific SRv6 Service SID. The AL value is unique per End.DT2M | |||
behavior signaled by the egress PE. Therefore, the egress PE MUST | behavior signaled by the egress PE. Therefore, the egress PE MUST | |||
use the same AL for all local Ethernet Segments with attachment | use the same AL for all local Ethernet Segments with attachment | |||
circuits within the same broadcast domain. | circuits within the same broadcast domain. | |||
The following is an example representation of the BGP Prefix-SID | The following is an example representation of the BGP Prefix-SID | |||
Attribute encoding for this scenario with a 16-bit argument: | attribute encoding for this scenario with a 16-bit argument: | |||
BGP Prefix SID Attr: | BGP Prefix-SID attribute: | |||
SRv6 L2 Service TLV: | SRv6 L2 Service TLV: | |||
SRv6 SID Information Sub-TLV: | SRv6 SID Information Sub-TLV: | |||
SID: 2001:db8:1:fbd1:: | SID: 2001:db8:1:fbd1:: | |||
Behavior: End.DT2M | Behavior: End.DT2M | |||
SRv6 SID Structure Sub-Sub-TLV: | SRv6 SID Structure Sub-Sub-TLV: | |||
LBL: 32, LNL: 16, FL: 16, AL: 16, TPOS-L: 0, TPOS-O: 0 | LBL: 32, LNL: 16, FL: 16, AL: 16, TPOS-L: 0, TPOS-O: 0 | |||
Figure 4: EVPN Route Type 3 with ESI Filtering | Figure 4: EVPN Route Type 3 with ESI Filtering | |||
When ESI Filtering is in use, the advertising router MUST ensure that | When ESI Filtering is in use, the advertising router MUST ensure that | |||
skipping to change at line 356 ¶ | skipping to change at line 354 ¶ | |||
3.3. Processing at Ingress PE | 3.3. Processing at Ingress PE | |||
An ingress PE receives the LOC:FUNC portion of the SRv6 Service SID | An ingress PE receives the LOC:FUNC portion of the SRv6 Service SID | |||
to be used for BUM traffic through EVPN Route Type 3 advertisements. | to be used for BUM traffic through EVPN Route Type 3 advertisements. | |||
When ESI Filtering is not in use, the SRv6 Service SID to be used | When ESI Filtering is not in use, the SRv6 Service SID to be used | |||
consists solely of the LOC:FUNC portion received via EVPN Route Type | consists solely of the LOC:FUNC portion received via EVPN Route Type | |||
3. | 3. | |||
When ESI Filtering is in use, the ESI Filtering ARG of the SRv6 | When ESI Filtering is in use, the ESI Filtering ARG of the SRv6 | |||
Service SID is signaled through EVPN Route Type 1 (Ethernet Auto- | Service SID is signaled through the Ethernet A-D per ES route. The | |||
Discovery per Ethernet Segment route). The ARG, in combination with | ARG, in combination with the LOC:FUNC portion received via EVPN Route | |||
the LOC:FUNC portion received via EVPN Route Type 3, forms the SRv6 | Type 3, forms the SRv6 Service SID to be used. | |||
Service SID to be used. | ||||
Since the LOC:FUNC and ARG portions of the SRv6 Service SID are | Since the LOC:FUNC and ARG portions of the SRv6 Service SID are | |||
signaled via different route advertisements, there may be cases where | signaled via different route advertisements, there may be cases where | |||
the ingress PE receives inconsistent AL values from the two route | the ingress PE receives inconsistent AL values from the two route | |||
types. If the ingress PE expects ESI Filtering to be in use (i.e., | types. If the ingress PE expects ESI Filtering to be in use (i.e., | |||
when forwarding BUM traffic to other PEs attached to a shared | when forwarding BUM traffic to other PEs attached to a shared | |||
Ethernet Segment) but does not receive a usable ARG value during | Ethernet Segment) but does not receive a usable ARG value during | |||
processing, it SHOULD log a message to facilitate troubleshooting. | processing, it SHOULD log a message to facilitate troubleshooting. | |||
The ingress PE router MUST follow the processing steps outlined below | The ingress PE router MUST follow the processing steps outlined below | |||
skipping to change at line 407 ¶ | skipping to change at line 404 ¶ | |||
log an error message for troubleshooting this condition. | log an error message for troubleshooting this condition. | |||
c. If the AL values in EVPN Route Type 1 and EVPN Route Type 3 | c. If the AL values in EVPN Route Type 1 and EVPN Route Type 3 | |||
are both non-zero and equal, then the ARG value from EVPN | are both non-zero and equal, then the ARG value from EVPN | |||
Route Type 1 is considered valid. This ARG value MUST be | Route Type 1 is considered valid. This ARG value MUST be | |||
encoded within the SRv6 SID (LOC:FUNC) at the ARG offset as | encoded within the SRv6 SID (LOC:FUNC) at the ARG offset as | |||
specified in the SID structure (i.e., LBL + LNL + FL) in EVPN | specified in the SID structure (i.e., LBL + LNL + FL) in EVPN | |||
Route Type 3. All bits beyond LBL + LNL + FL + AL MUST be | Route Type 3. All bits beyond LBL + LNL + FL + AL MUST be | |||
set to zero. | set to zero. | |||
Based on the above procedures, the SRv6 Service SID encoding for the | Using the procedures above with the examples in Figures 1 and 3, the | |||
data plane without an ESI Filtering ARG, based on the examples in | SRv6 Service SID encoding for the data plane without an ESI Filtering | |||
Figures 1 and 3, is as follows: | ARG is as follows: | |||
Route Type 3: | EVPN Route Type 3: | |||
SID: 2001:db8:1:fbd1:: | SID: 2001:db8:1:fbd1:: | |||
Structure: LBL: 32, LNL: 16, FL: 16, AL: 0 | Structure: LBL: 32, LNL: 16, FL: 16, AL: 0 | |||
SRv6 Service SID Encoded for Datapath: 2001:db8:1:fbd1:: | SRv6 Service SID Encoded for Datapath: 2001:db8:1:fbd1:: | |||
Figure 5: SRv6 Service SID Encoding for Data Plane Without ARG | Figure 5: SRv6 Service SID Encoding for Data Plane Without ARG | |||
Based on the above procedures, the SRv6 Service SID encoding for the | Using the procedures above with the examples in Figures 2 and 4, the | |||
data plane along with an ESI Filtering ARG, based on the examples in | SRv6 Service SID encoding for the data plane along with an ESI | |||
2 and 4, is as follows: | Filtering ARG is as follows: | |||
Route Type 1: | EVPN Route Type 1: | |||
SID: ::aaaa:0:0:0 | SID: ::aaaa:0:0:0 | |||
Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | |||
Route Type 3: | EVPN Route Type 3: | |||
SID: 2001:db8:1:fbd1:: | SID: 2001:db8:1:fbd1:: | |||
Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | |||
SRv6 Service SID Encoded for Datapath: 2001:db8:1:fbd1:aaaa:: | SRv6 Service SID Encoded for Datapath: 2001:db8:1:fbd1:aaaa:: | |||
Figure 6: SRv6 Service SID Encoding for Data Plane with ARG | Figure 6: SRv6 Service SID Encoding for Data Plane with ARG | |||
Figure 7 provides another example that illustrates the signaling and | Figure 7 provides another example that illustrates the signaling and | |||
processing of multiple bridge domains in a deployment design. | processing of multiple bridge domains in a deployment design. | |||
skipping to change at line 465 ¶ | skipping to change at line 462 ¶ | |||
| +-----+ | | FL:16 FL:32 | | | +-----+ | | FL:16 FL:32 | | |||
| +-----+ | RT1 | | | +-----+ | RT1 | | |||
| | BD2 | | ESI-1 | | | | BD2 | | ESI-1 | | |||
| +-----+ | AL:16 | | | +-----+ | AL:16 | | |||
+---------+ | | +---------+ | | |||
PE2 | | | PE2 | | | |||
| | | | | | |||
| | | | | | |||
+-------------------------------+ | +-------------------------------+ | |||
Route Type 1 ESI-1: | EVPN Route Type 1 ESI-1: | |||
SID: ::aaaa:0:0:0 | SID: ::aaaa:0:0:0 | |||
Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | |||
Route Type 3 from BD1: | EVPN Route Type 3 from BD1: | |||
SID: 2001:db8:1:fbd1:fbd1: | SID: 2001:db8:1:fbd1:fbd1: | |||
Structure: LBL: 32, LNL: 16, FL: 32, AL: 16 | Structure: LBL: 32, LNL: 16, FL: 32, AL: 16 | |||
Route Type 3 from BD2: | EVPN Route Type 3 from BD2: | |||
SID: 2001:db8:1:fbd2:: | SID: 2001:db8:1:fbd2:: | |||
Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | Structure: LBL: 32, LNL: 16, FL: 16, AL: 16 | |||
SRv6 Service SID for datapath from ingress PE1 to egress PE2 on BD1: | SRv6 Service SID for datapath from ingress PE1 to egress PE2 on BD1: | |||
2001:db8:1:fbd1:fbd1:aaaa:: | 2001:db8:1:fbd1:fbd1:aaaa:: | |||
SRv6 Service SID for datapath from ingress PE1 to egress PE2 on BD2: | SRv6 Service SID for datapath from ingress PE1 to egress PE2 on BD2: | |||
2001:db8:1:fbd2:aaaa:: | 2001:db8:1:fbd2:aaaa:: | |||
Figure 7: Example with Multiple Bridge Domains | Figure 7: Example with Multiple Bridge Domains | |||
End of changes. 30 change blocks. | ||||
66 lines changed or deleted | 63 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |