rfc9819.original   rfc9819.txt 
BESS Working Group K. Talaulikar Internet Engineering Task Force (IETF) K. Talaulikar
Internet-Draft K. Raza Request for Comments: 9819 K. Raza
Updates: 9252 (if approved) Cisco Systems Updates: 9252 Cisco Systems
Intended status: Standards Track J. Rabadan Category: Standards Track J. Rabadan
Expires: 10 November 2025 Nokia ISSN: 2070-1721 Nokia
W. Lin W. Lin
Juniper Networks Juniper Networks
9 May 2025 July 2025
Segment Routing over IPv6 Argument Signaling for BGP Services Segment Routing over IPv6 Argument Signaling for BGP Services
draft-ietf-bess-bgp-srv6-args-10
Abstract Abstract
RFC9252 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, Ethernet Virtual Private Network, and Global Internet Network (L3VPN), Ethernet VPN (EVPN), and global Internet routing.
Routing. This document updates RFC9252 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
Identifiers 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 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 10 November 2025. 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/rfc9819.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2025 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
publication of this document. Please review these documents
Please review these documents carefully, as they describe your rights carefully, as they describe your rights and restrictions with respect
and restrictions with respect to this document. Code Components to this document. Code Components extracted from this document must
extracted from this document must include Revised BSD License text as include Revised BSD License text as described in Section 4.e of the
described in Section 4.e of the Trust Legal Provisions and are Trust Legal Provisions and are provided without warranty as described
provided without warranty as described in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language
2. Advertisement of SRv6 SID and Arguments . . . . . . . . . . . 3 2. Advertisement of SRv6 SID and Arguments
3. End.DT2M Signaling for EVPN ESI Filtering . . . . . . . . . . 4 3. End.DT2M Signaling for EVPN ESI Filtering
3.1. Advertisement of Ethernet A-D per ES Route . . . . . . . 5 3.1. Advertisement of Ethernet A-D per ES Route
3.2. Advertisement of Inclusive Multicast Ethernet Tag 3.2. Advertisement of Inclusive Multicast Ethernet Tag Route
Route . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3. Processing at Ingress PE
3.3. Processing at Ingress PE . . . . . . . . . . . . . . . . 8 4. Backward Compatibility
4. Backward Compatibility . . . . . . . . . . . . . . . . . . . 12 5. IANA Considerations
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. Security Considerations
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. References
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. Normative References
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.2. Informative References
8.1. Normative References . . . . . . . . . . . . . . . . . . 12 Acknowledgments
8.2. Informative References . . . . . . . . . . . . . . . . . 13 Authors' Addresses
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
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 Private Network (L3VPN), global Internet routing, and Ethernet VPN
Virtual Private Network (EVPN) services as defined in [RFC8986]. (EVPN) services as defined in [RFC8986]. Such SRv6 SIDs are referred
Such SRv6 SIDs are referred to as SRv6 Service SIDs. [RFC9252] to as SRv6 Service SIDs. [RFC9252] defines the procedures and
defines the procedures and messages for the signaling of BGP Overlay messages for the signaling of BGP Overlay Services including L3VPN,
Services including L3VPN, EVPN, and Internet services using SRv6. EVPN, and Internet services using SRv6.
For certain EVPN services, [RFC8986] (section 4.12) 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] lacked sufficient that the specifications outlined in [RFC9252] lack sufficient detail,
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 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 argument signaled via Route Type 1 and the SID between the SID with an argument signaled via Route Type 1 and the
with the 'locator + function' components signaled via Route Type 3. SID with the 'Locator + Function' components signaled via Route Type
However, this approach assumes a uniform SID structure across all 3. However, this approach assumes a uniform SID structure across all
SIDs advertised via EVPN Route Types 1 and 3. This assumption is not SIDs advertised via EVPN Route Types 1 and 3. This assumption is not
universally valid, and the procedures in this document remove this universally valid, and the procedures in this document remove this
restriction, ensuring greater flexibility in SRv6 SID signaling. 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
procedures and recommendations specified in [RFC9252] concerning the procedures and recommendations specified in [RFC9252] concerning the
Transposition Scheme. Transposition Scheme.
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. Advertisement of SRv6 SID and Arguments 2. Advertisement of SRv6 SID and Arguments
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 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 endpoint behavior that supports argument. This ensures that
the receiving router can perform consistency verification of the 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).
This fully-formed SID can then be utilized in the data plane, either This fully formed SID can then be utilized in the data plane, either
as the IPv6 destination address of a packet or as a segment within as the IPv6 destination address of a packet or as a segment within
the Segment Routing Header (SRH) [RFC8754], as required. the Segment Routing Header (SRH) [RFC8754], as required.
Since arguments may be optional, the SRv6 Endpoint Node that owns the Since arguments may be optional, the SRv6 endpoint node that owns the
SID MUST advertise the SRv6 SID Structure Sub-Sub-TLV along with the SID MUST advertise the SRv6 SID Structure Sub-Sub-TLV along with the
LOC:FUNC portion of the SRv6 SID to indicate whether arguments are LOC:FUNC portion of the SRv6 SID to indicate whether arguments are
supported for that specific SID. A zero Argument Length (AL) value supported for that specific SID. A zero AL value indicates that the
indicates that the node does not accept an argument for the given node does not accept an argument for the given SRv6 SID. Conversely,
SRv6 SID. Conversely, a non-zero AL value specifies the size of the a non-zero AL value specifies the size of the supported argument,
supported argument, along with the Locator Block Length (LBL), along with the Locator Block Length (LBL), Locator Node Length (LNL),
Locator Node Length (LNL), and Function Length (FL) parameters, which and Function Length (FL) parameters, which define the offset from
define the offset from which the node expects the ARG to be encoded. which the node expects the ARG to be encoded. All bits beyond LBL +
All bits beyond LBL + LNL + FL + AL MUST be set to zero. LNL + FL + AL MUST be set to zero.
The advertisement of the ARG value may be performed either by the The advertisement of the ARG value may be performed either by the
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 EVPN Route Type 3 (Inclusive
Multicast Ethernet Tag Route), while the Ethernet Segment Identifier Multicast Ethernet Tag route), while the Ethernet Segment Identifier
(ESI) Filtering ARG (denoted as Arg.FE2 in [RFC8986]) is signaled via (ESI) Filtering ARG (denoted as Arg.FE2 in [RFC8986]) is signaled via
EVPN Route Type 1 (Ethernet Auto-Discovery per Ethernet Segment (A-D EVPN Route Type 1 (Ethernet Auto-Discovery per Ethernet Segment (A-D
per ES) Route). The following subsections provide a more detailed per ES) route). The following subsections provide a more detailed
specification of the signaling and processing mechanisms compared to specification of the signaling and processing mechanisms compared to
[RFC9252]. [RFC9252].
ESI Filtering is a split-horizon mechanism used for Multi-Homing 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 multi-homing is present, * No multihoming is present,
* No split-horizon mechanism is required, or * No split-horizon mechanism is required, or
* The local-bias method (as specified in [RFC8365]) is employed. * The "Local Bias" method (as specified in [RFC8365]) is employed.
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 [I-D.ietf-spring-srv6-srh-compression]. In SID list compression [RFC9800]. In deployments where a mix of
deployments where a mix of compressed and uncompressed SIDs is compressed and uncompressed SIDs is present, the behaviors advertised
present, the behaviors advertised in the Ethernet Auto-Discovery in the Ethernet Auto-Discovery (A-D) per ES routes (EVPN Route Type
(A-D) per ES Routes (EVPN Route Type 1) and Inclusive Multicast 1) and Inclusive Multicast Ethernet Tag routes (EVPN Route Type 3)
Ethernet Tag Routes (EVPN Route Type 3) MAY consist of a combination MAY consist of a combination of compressed and uncompressed End.DT2M
of compressed and uncompressed End.DT2M behavior flavors. The behavior flavors. The procedures in this document remain valid for
procedures in this document remain valid for such deployments such deployments provided that the AL consistency checks between EVPN
provided that the argument length consistency checks between EVPN
Route Type 1 and EVPN Route Type 3, as described in the following Route Type 1 and EVPN Route Type 3, 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 Auto-Discovery (A-D) per ES routes (EVPN Route Type 1), as
defined in [RFC7432], are utilized to enable split-horizon filtering defined in [RFC7432], are utilized to enable split-horizon filtering
and fast convergence in multi-homing scenarios. Additionally, A-D and fast convergence in multihoming scenarios. Additionally, A-D per
per ES Routes facilitate egress filtering of BUM traffic originating ES routes facilitate egress filtering of BUM traffic originating from
from a Leaf, as specified in [RFC8317]. a Leaf, as specified 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.
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 Attr:
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 Argument Length (AL) MUST non-zero ARG value is being signaled, the AL MUST be set to the size
be set to the size of the ARG, and the size SHOULD be a multiple of 8 of the ARG, and the size SHOULD be a multiple of 8 to ensure
to ensure consistency across implementations for ease of operations. consistency across implementations for ease of operations. The SRv6
The SRv6 SID Structure Sub-Sub-TLV MUST set the Locator Block Length SID Structure Sub-Sub-TLV MUST set the LBL, LNL, and FL fields with
(LBL), Locator Node Length (LNL), and Function Length (FL) fields values that indicate the offset at which the ARG value is encoded
with values that indicate the offset at which the ARG value is within the 128-bit SRv6 SID.
encoded 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 Attr:
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
skipping to change at page 7, line 21 skipping to change at line 282
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 (EVPN Route Type 3), as
defined in [RFC7432], is used to advertise multicast traffic defined in [RFC7432], is used to advertise multicast traffic
reachability information via MP-BGP to all other PE routers within a reachability information via Multiprotocol BGP (MP-BGP) to all other
given EVPN instance. When utilizing SRv6 transport, the PE routers within a given EVPN instance. When utilizing SRv6
advertisement of this route MUST include the BGP Prefix-SID Attribute transport, the advertisement of this route MUST include the BGP
with an SRv6 L2 Service TLV to indicate the use of SRv6. Prefix-SID Attribute with an SRv6 L2 Service TLV to indicate the use
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.
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 Attr:
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 Attr:
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:
skipping to change at page 9, line 7 skipping to change at line 357
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 EVPN Route Type 1 (Ethernet Auto-
Discovery per Ethernet Segment Route). The ARG, in combination with Discovery per Ethernet Segment route). The ARG, in combination with
the LOC:FUNC portion received via EVPN Route Type 3, forms the SRv6 the LOC:FUNC portion received via EVPN Route 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
when handling SRv6 Service SID advertisements: when handling SRv6 Service SID advertisements:
1. If AL=0 is signaled via EVPN Route Type 3, then the egress PE 1. If AL=0 is signaled via EVPN Route Type 3, then the egress PE
either does not support ESI Filtering or does not require ESI either does not support ESI Filtering or does not require an ESI
Filtering ARG for the specific SID. In this case, the SRv6 Filtering ARG for the specific SID. In this case, the SRv6
Service SID is formed using only the LOC:FUNC portion, and all Service SID is formed using only the LOC:FUNC portion, and all
bits after LBL+LNL+FL MUST be set to zero for encoding on the bits after LBL + LNL + FL MUST be set to zero for encoding on the
data path. Additionally, the router MUST ignore the SID value data path. Additionally, the router MUST ignore the SID value
and its SID structure advertised in the corresponding EVPN Route and its SID structure advertised in the corresponding EVPN Route
Type 1. Type 1.
2. If a non-zero AL is signaled via EVPN Route Type 3, then the 2. If a non-zero AL is signaled via EVPN Route Type 3, then the
matching EVPN Route Type 1 for the Ethernet Segment is located matching EVPN Route Type 1 for the Ethernet Segment is located
and the presence of an SRv6 SID advertisement with the End.DT2M and the presence of an SRv6 SID advertisement with the End.DT2M
behavior is verified. behavior is verified.
a. If the presence of such a SRv6 SID is not verified, or if the a. If the presence of such a SRv6 SID is not verified, or if the
AL=0 in the EVPN Route Type 1, then no usable ARG value is AL is zero in the EVPN Route Type 1, then no usable ARG value
available. The SRv6 Service SID MUST be formed as described is available. The SRv6 Service SID MUST be formed as
in (1) above. described in (1) above.
b. If the AL values in EVPN Route Type 1 and EVPN Route Type 3 b. If the AL values in EVPN Route Type 1 and EVPN Route Type 3
are both non-zero but not equal, then no usable ARG value is are both non-zero but not equal, then no usable ARG value is
available. This inconsistency in signaling from the egress available. This inconsistency in signaling from the egress
PE indicates a configuration error. To prevent potential PE indicates a configuration error. To prevent potential
looping, BUM traffic MUST NOT be forwarded for such routes looping, BUM traffic MUST NOT be forwarded for such routes
from the specific Ethernet Segment. Implementations SHOULD from the specific Ethernet Segment. Implementations SHOULD
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 Based on the above procedures, the SRv6 Service SID encoding for the
data plane without an ESI Filtering ARG, based on the examples in data plane without an ESI Filtering ARG, based on the examples in
Figure 1 and Figure 3, is as follows: Figures 1 and 3, is as follows:
Route Type 3: 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 Based on the above procedures, the SRv6 Service SID encoding for the
data plane along with an ESI Filtering ARG, based on the examples in data plane along with an ESI Filtering ARG, based on the examples in
Figure 2 and Figure 4, is as follows: 2 and 4, is as follows:
Route Type 1: 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: 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::
skipping to change at page 12, line 9 skipping to change at line 488
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
4. Backward Compatibility 4. Backward Compatibility
Existing implementations that rely on the bitwise logical-OR Existing implementations that rely on the bitwise logical-OR
operation, as specified in Section 6.3 of [RFC9252], function operation, as specified in Section 6.3 of [RFC9252], function
correctly only when the SID structures of the two EVPN Route Types correctly only when the SID structures of the two EVPN route types
are identical. are identical.
Backward compatibility with implementations performing the bitwise Backward compatibility with implementations performing the bitwise
logical-OR operation is maintained when EVPN Route Type 3 and its logical-OR operation is maintained when EVPN Route Type 3 and its
corresponding EVPN Route Type 1 advertise SIDs with the same SID corresponding EVPN Route Type 1 advertise SIDs with the same SID
structure, as outlined in Section 3.1 and Section 3.2. structure, as outlined in Sections 3.1 and 3.2.
However, when the SID structures of the two route types are not However, when the SID structures of the two route types are not
identical, the bitwise logical-OR operation specified in [RFC9252] identical, the bitwise logical-OR operation specified in [RFC9252]
cannot be applied. Instead, the alternative method specified in cannot be applied. Instead, the alternative method specified in
Section 3.3 MUST be used to correctly derive the SRv6 Service SID in Section 3.3 MUST be used to correctly derive the SRv6 Service SID in
such cases. such cases.
5. IANA Considerations 5. IANA Considerations
This document does not require any action from IANA. This document has no IANA actions.
6. Security Considerations 6. Security Considerations
This document only provides a more detailed specification related to This document provides a more detailed specification related to the
the signaling and processing of SRv6 SID advertisements for SRv6 signaling and processing of SRv6 SID advertisements for SRv6 Endpoint
Endpoint Behaviors with arguments. As such, it does not introduce Behaviors with arguments. As such, it does not introduce any new
any new security considerations over and above what is already security considerations over and above those already covered by
covered by [RFC9252]. [RFC9252].
7. Acknowledgments
The authors would like to acknowledge Jayshree Subramanian, Sonal
Agarwal, Swadesh Agrawal, Dongling Duan, Luc Andre Burdet, Patrice
Brissette, Senthil Sathappan, Erel Ortacdag, Neil Hart, Will
Lockhart, and Vinod Prabhu for their inputs on aspects related to the
signaling of the End.DT2M SRv6 Endpoint behavior that required
clarification as also for their review of this document. The authors
thank Jeffrey Zhang for his shepherd review of the document and
suggestions for its improvements. The authors would also like to
thank Gunter van de Velde for his extensive review and suggestions
for improving the readability of the document.
8. References 7. References
8.1. Normative References 7.1. Normative References
[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>.
[RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
2015, <https://www.rfc-editor.org/info/rfc7432>. 2015, <https://www.rfc-editor.org/info/rfc7432>.
skipping to change at page 13, line 42 skipping to change at line 555
(SRv6) Network Programming", RFC 8986, (SRv6) Network Programming", RFC 8986,
DOI 10.17487/RFC8986, February 2021, DOI 10.17487/RFC8986, February 2021,
<https://www.rfc-editor.org/info/rfc8986>. <https://www.rfc-editor.org/info/rfc8986>.
[RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene, [RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene,
B., Zhuang, S., and J. Rabadan, "BGP Overlay Services B., Zhuang, S., and J. Rabadan, "BGP Overlay Services
Based on Segment Routing over IPv6 (SRv6)", RFC 9252, Based on Segment Routing over IPv6 (SRv6)", RFC 9252,
DOI 10.17487/RFC9252, July 2022, DOI 10.17487/RFC9252, July 2022,
<https://www.rfc-editor.org/info/rfc9252>. <https://www.rfc-editor.org/info/rfc9252>.
8.2. Informative References 7.2. Informative References
[I-D.ietf-spring-srv6-srh-compression]
Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F.
Clad, "Compressed SRv6 Segment List Encoding (CSID)", Work
in Progress, Internet-Draft, draft-ietf-spring-srv6-srh-
compression-23, 6 February 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-spring-
srv6-srh-compression-23>.
[RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R., [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
Uttaro, J., and W. Henderickx, "A Network Virtualization Uttaro, J., and W. Henderickx, "A Network Virtualization
Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365, Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365,
DOI 10.17487/RFC8365, March 2018, DOI 10.17487/RFC8365, March 2018,
<https://www.rfc-editor.org/info/rfc8365>. <https://www.rfc-editor.org/info/rfc8365>.
[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>.
[RFC9800] Cheng, W., Ed., Filsfils, C., Li, Z., Decraene, B., and F.
Clad, Ed., "Compressed SRv6 Segment List Encoding",
RFC 9800, DOI 10.17487/RFC9800, June 2025,
<https://www.rfc-editor.org/info/rfc9800>.
Acknowledgments
The authors would like to acknowledge Jayshree Subramanian, Sonal
Agarwal, Swadesh Agrawal, Dongling Duan, Luc André Burdet, Patrice
Brissette, Senthil Sathappan, Erel Ortacdag, Neil Hart, Will
Lockhart, and Vinod Prabhu for their review of the document and input
on aspects related to the signaling of the End.DT2M SRv6 Endpoint
Behavior that required clarification. The authors thank Jeffrey
Zhang for his shepherd review and suggestions for improving the
document. The authors would also like to thank Gunter Van de Velde
for his extensive review and suggestions for improving the
readability of the document.
Authors' Addresses Authors' Addresses
Ketan Talaulikar Ketan Talaulikar
Cisco Systems Cisco Systems
India India
Email: ketant.ietf@gmail.com Email: ketant.ietf@gmail.com
Kamran Raza Kamran Raza
Cisco Systems Cisco Systems
Canada Canada
 End of changes. 55 change blocks. 
154 lines changed or deleted 145 lines changed or added

This html diff was produced by rfcdiff 1.48.