summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9252.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc9252.txt')
-rw-r--r--doc/rfc/rfc9252.txt1616
1 files changed, 1616 insertions, 0 deletions
diff --git a/doc/rfc/rfc9252.txt b/doc/rfc/rfc9252.txt
new file mode 100644
index 0000000..49d09f3
--- /dev/null
+++ b/doc/rfc/rfc9252.txt
@@ -0,0 +1,1616 @@
+
+
+
+
+Internet Engineering Task Force (IETF) G. Dawra, Ed.
+Request for Comments: 9252 LinkedIn
+Category: Standards Track K. Talaulikar, Ed.
+ISSN: 2070-1721 Cisco Systems
+ R. Raszuk
+ NTT Network Innovations
+ B. Decraene
+ Orange
+ S. Zhuang
+ Huawei Technologies
+ J. Rabadan
+ Nokia
+ July 2022
+
+
+ BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)
+
+Abstract
+
+ This document defines procedures and messages for SRv6-based BGP
+ services, including Layer 3 Virtual Private Network (L3VPN), Ethernet
+ VPN (EVPN), and Internet services. It builds on "BGP/MPLS IP Virtual
+ Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN"
+ (RFC 7432).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ 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/rfc9252.
+
+Copyright Notice
+
+ Copyright (c) 2022 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Revised BSD License text as described in Section 4.e of the
+ Trust Legal Provisions and are provided without warranty as described
+ in the Revised BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Requirements Language
+ 2. SRv6 Services TLVs
+ 3. SRv6 Service Sub-TLVs
+ 3.1. SRv6 SID Information Sub-TLV
+ 3.2. SRv6 Service Data Sub-Sub-TLVs
+ 3.2.1. SRv6 SID Structure Sub-Sub-TLV
+ 4. Encoding SRv6 SID Information
+ 5. BGP-Based L3 Service over SRv6
+ 5.1. IPv4 VPN over SRv6 Core
+ 5.2. IPv6 VPN over SRv6 Core
+ 5.3. Global IPv4 over SRv6 Core
+ 5.4. Global IPv6 over SRv6 Core
+ 6. BGP-Based Ethernet VPN (EVPN) over SRv6
+ 6.1. Ethernet Auto-Discovery Route over SRv6 Core
+ 6.1.1. Ethernet A-D per ES Route
+ 6.1.2. Ethernet A-D per EVI Route
+ 6.2. MAC/IP Advertisement Route over SRv6 Core
+ 6.2.1. MAC/IP Advertisement Route with MAC Only
+ 6.2.2. MAC/IP Advertisement Route with MAC+IP
+ 6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core
+ 6.4. Ethernet Segment Route over SRv6 Core
+ 6.5. IP Prefix Route over SRv6 Core
+ 6.6. EVPN Multicast Routes (Route Types 6, 7, and 8) over SRv6
+ Core
+ 7. Error Handling
+ 8. IANA Considerations
+ 8.1. BGP Prefix-SID TLV Types Registry
+ 8.2. SRv6 Service Sub-TLV Types Registry
+ 8.3. SRv6 Service Data Sub-Sub-TLV Types Registry
+ 8.4. BGP SRv6 Service SID Flags Registry
+ 8.5. SAFI Values Registry
+ 9. Security Considerations
+ 9.1. Considerations Related to BGP Sessions
+ 9.2. Considerations Related to BGP Services
+ 9.3. Considerations Related to SR over IPv6 Data Plane
+ 10. References
+ 10.1. Normative References
+ 10.2. Informative References
+ Acknowledgements
+ Contributors
+ Authors' Addresses
+
+1. Introduction
+
+ SRv6 refers to Segment Routing instantiated on the IPv6 data plane
+ [RFC8402].
+
+ BGP is used to advertise the reachability of prefixes of a particular
+ service from an egress Provider Edge (PE) to ingress PE nodes.
+
+ SRv6-based BGP services refer to the Layer 3 (L3) and Layer 2 (L2)
+ overlay services with BGP as the control plane and SRv6 as the data
+ plane. This document defines procedures and messages for SRv6-based
+ BGP services, including L3VPN, EVPN, and Internet services. It
+ builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" [RFC4364] and
+ "BGP MPLS-Based Ethernet VPN" [RFC7432].
+
+ SRv6 SID refers to an SRv6 Segment Identifier, as defined in
+ [RFC8402].
+
+ SRv6 Service SID refers to an SRv6 SID associated with one of the
+ service-specific SRv6 Endpoint Behaviors on the advertising PE
+ router, such as (but not limited to) End.DT (look up in the Virtual
+ Routing and Forwarding (VRF) table) or End.DX (cross-connect to a
+ next hop) behaviors in the case of L3VPN service, as defined in
+ [RFC8986]. This document describes how existing BGP messages between
+ PEs may carry SRv6 Service SIDs to interconnect PEs and form VPNs.
+
+ To provide SRv6 service with best-effort connectivity, the egress PE
+ signals an SRv6 Service SID with the BGP overlay service route. The
+ ingress PE encapsulates the payload in an outer IPv6 header where the
+ destination address is the SRv6 Service SID provided by the egress
+ PE. The underlay between the PEs only needs to support plain IPv6
+ forwarding [RFC8200].
+
+ To provide SRv6 service in conjunction with an underlay Service Level
+ Agreement (SLA) from the ingress PE to the egress PE, the egress PE
+ colors the overlay service route with a Color Extended Community
+ [RFC9012] for steering flows for those routes, as specified in
+ Section 8 of [SEGMENT-ROUTING-POLICY]. The ingress PE encapsulates
+ the payload packet in an outer IPv6 header with the SR Policy segment
+ list associated with the related SLA along with the SRv6 Service SID
+ associated with the route using the Segment Routing Header (SRH)
+ [RFC8754]. The underlay nodes whose SRv6 SIDs are part of the SRH
+ segment list MUST support the SRv6 data plane.
+
+1.1. Requirements Language
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+2. SRv6 Services TLVs
+
+ This document extends the use of the BGP Prefix-SID attribute
+ [RFC8669] to carry SRv6 SIDs and their associated information with
+ the BGP address families that are listed further in this section.
+
+ The SRv6 Service TLVs are defined as two new TLVs of the BGP Prefix-
+ SID attribute to achieve signaling of SRv6 SIDs for L3 and L2
+ services.
+
+ SRv6 L3 Service TLV:
+ This TLV encodes Service SID information for SRv6-based L3
+ services. It corresponds to the equivalent functionality provided
+ by an MPLS label when received with a Layer 3 service route, as
+ defined in [RFC4364], [RFC4659], [RFC8950], and [RFC9136]. Some
+ SRv6 Endpoint Behaviors that may be encoded are, but not limited
+ to, End.DX4, End.DT4, End.DX6, End.DT6, and End.DT46.
+
+ SRv6 L2 Service TLV:
+ This TLV encodes Service SID information for SRv6-based L2
+ services. It corresponds to the equivalent functionality provided
+ by an MPLS label for Ethernet VPN (EVPN) Route Types for Layer 2
+ services, as defined in [RFC7432]. Some SRv6 Endpoint Behaviors
+ that may be encoded are, but not limited to, End.DX2, End.DX2V,
+ End.DT2U, and End.DT2M.
+
+ When an egress PE is enabled for BGP Services over the SRv6 data
+ plane, it signals one or more SRv6 Service SIDs enclosed in an SRv6
+ Service TLV(s) within the BGP Prefix-SID attribute attached to
+ Multiprotocol BGP (MP-BGP) Network Layer Reachability Information
+ (NLRI) defined in [RFC4760], [RFC4659], [RFC8950], [RFC7432],
+ [RFC4364], and [RFC9136], where applicable, as described in Sections
+ 5 and 6.
+
+ The support for BGP Multicast VPN (MVPN) Services [RFC6513] with SRv6
+ is outside the scope of this document.
+
+ The following depicts the SRv6 Service TLVs encoded in the BGP
+ Prefix-SID attribute:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type | TLV Length | RESERVED |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 Service Sub-TLVs //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1: SRv6 Service TLVs
+
+ TLV Type (1 octet):
+ This field is assigned a value from IANA's "BGP Prefix-SID TLV
+ Types" subregistry. It is set to 5 for the SRv6 L3 Service TLV.
+ It is set to 6 for the SRv6 L2 Service TLV.
+
+ TLV Length (2 octets):
+ This field specifies the total length, in octets, of the TLV
+ Value.
+
+ RESERVED (1 octet):
+ This field is reserved; it MUST be set to 0 by the sender and
+ ignored by the receiver.
+
+ SRv6 Service Sub-TLVs (variable):
+ This field contains SRv6 service-related information and is
+ encoded as an unordered list of Sub-TLVs whose format is described
+ below.
+
+ A BGP speaker receiving a route containing the BGP Prefix-SID
+ attribute with one or more SRv6 Service TLVs observes the following
+ rules when advertising the received route to other peers:
+
+ * If the BGP next hop is unchanged during the advertisement, the
+ SRv6 Service TLVs, including any unrecognized Types of Sub-TLV and
+ Sub-Sub-TLV, SHOULD be propagated further. In addition, all
+ Reserved fields in the TLV, Sub-TLV, or Sub-Sub-TLV MUST be
+ propagated unchanged.
+
+ * If the BGP next hop is changed, the TLVs, Sub-TLVs, and Sub-Sub-
+ TLVs SHOULD be updated with the locally allocated SRv6 SID
+ information. Any received Sub-TLVs and Sub-Sub-TLVs that are
+ unrecognized MUST be removed.
+
+3. SRv6 Service Sub-TLVs
+
+ The format of a single SRv6 Service Sub-TLV is depicted below:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 Service | SRv6 Service | SRv6 Service //
+ | Sub-TLV | Sub-TLV | Sub-TLV //
+ | Type | Length | Value //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 2: SRv6 Service Sub-TLVs
+
+ SRv6 Service Sub-TLV Type (1 octet):
+ This field identifies the type of SRv6 service information. It is
+ assigned a value from IANA's "SRv6 Service Sub-TLV Types"
+ subregistry.
+
+ SRv6 Service Sub-TLV Length (2 octets):
+ This field specifies the total length, in octets, of the Sub-TLV
+ Value field.
+
+ SRv6 Service Sub-TLV Value (variable):
+ This field contains data specific to the Sub-TLV Type. In
+ addition to fixed-length data, it contains other properties of the
+ SRv6 service encoded as a set of SRv6 Service Data Sub-Sub-TLVs
+ whose format is described in Section 3.2 below.
+
+3.1. SRv6 SID Information Sub-TLV
+
+ SRv6 Service Sub-TLV Type 1 is assigned for the SRv6 SID Information
+ Sub-TLV. This Sub-TLV contains a single SRv6 SID along with its
+ properties. Its encoding is depicted below:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 Service | SRv6 Service | |
+ | Sub-TLV | Sub-TLV | |
+ | Type=1 | Length | RESERVED1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 SID Value (16 octets) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Svc SID Flags | SRv6 Endpoint Behavior | RESERVED2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 Service Data Sub-Sub-TLVs //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 3: SRv6 SID Information Sub-TLV
+
+ SRv6 Service Sub-TLV Type (1 octet):
+ This field is set to 1 to represent the SRv6 SID Information Sub-
+ TLV.
+
+ SRv6 Service Sub-TLV Length (2 octets):
+ This field contains the total length, in octets, of the Value
+ field of the Sub-TLV.
+
+ RESERVED1 (1 octet):
+ This field MUST be set to 0 by the sender and ignored by the
+ receiver.
+
+ SRv6 SID Value (16 octets):
+ This field encodes an SRv6 SID, as defined in [RFC8986].
+
+ SRv6 Service SID Flags (1 octet):
+ This field encodes SRv6 Service SID Flags -- none are currently
+ defined. It MUST be set to 0 by the sender and any unknown flags
+ MUST be ignored by the receiver.
+
+ SRv6 Endpoint Behavior (2 octets):
+ This field encodes the SRv6 Endpoint Behavior codepoint value that
+ is associated with the SRv6 SID. The codepoints used are from
+ IANA's "SRv6 Endpoint Behaviors" subregistry under the "Segment
+ Routing" registry that was introduced by [RFC8986]. The opaque
+ SRv6 Endpoint Behavior (i.e., value 0xFFFF) MAY be used when the
+ advertising router wishes to abstract the actual behavior of its
+ locally instantiated SRv6 SID.
+
+ RESERVED2 (1 octet):
+ This field MUST be set to 0 by the sender and ignored by the
+ receiver.
+
+ SRv6 Service Data Sub-Sub-TLV Value (variable):
+ This field is used to advertise properties of the SRv6 SID. It is
+ encoded as a set of SRv6 Service Data Sub-Sub-TLVs.
+
+ The choice of SRv6 Endpoint Behavior of the SRv6 SID is entirely up
+ to the originator of the advertisement. While Sections 5 and 6 list
+ the SRv6 Endpoint Behaviors that are normally expected to be used by
+ the specific route advertisements, the reception of other SRv6
+ Endpoint Behaviors (e.g., new behaviors that may be introduced in the
+ future) is not considered an error. An unrecognized SRv6 Endpoint
+ Behavior MUST NOT be considered invalid by the receiver, except for
+ behaviors that involve the use of arguments (refer to Section 3.2.1
+ for details on argument validation). An implementation MAY log a
+ rate-limited warning when it receives an unexpected behavior.
+
+ When multiple SRv6 SID Information Sub-TLVs are present, the ingress
+ PE SHOULD use the SRv6 SID from the first instance of the Sub-TLV.
+ An implementation MAY provide a local policy to override this
+ selection.
+
+3.2. SRv6 Service Data Sub-Sub-TLVs
+
+ The format of the SRv6 Service Data Sub-Sub-TLV is depicted below:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Service Data | Sub-Sub-TLV Length |Sub-Sub TLV //
+ | Sub-Sub-TLV | | Value //
+ | Type | | //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: SRv6 Service Data Sub-Sub-TLVs
+
+ SRv6 Service Data Sub-Sub-TLV Type (1 octet):
+ This field identifies the type of Sub-Sub-TLV. It is assigned a
+ value from IANA's "SRv6 Service Data Sub-Sub-TLV Types"
+ subregistry.
+
+ SRv6 Service Data Sub-Sub-TLV Length (2 octets):
+ This field specifies the total length, in octets, of the Sub-Sub-
+ TLV Value field.
+
+ SRv6 Service Data Sub-Sub-TLV Value (variable):
+ This field contains data specific to the Sub-Sub-TLV Type.
+
+3.2.1. SRv6 SID Structure Sub-Sub-TLV
+
+ SRv6 Service Data Sub-Sub-TLV Type 1 is assigned for the SRv6 SID
+ Structure Sub-Sub-TLV. The SRv6 SID Structure Sub-Sub-TLV is used to
+ advertise the lengths of the individual parts of the SRv6 SID, as
+ defined in [RFC8986]. The terms Locator Block and Locator Node
+ correspond to the B and N parts, respectively, of the SRv6 Locator
+ that is defined in Section 3.1 of [RFC8986]. It is carried as Sub-
+ Sub-TLV in the SRv6 SID Information Sub-TLV.
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SRv6 Service | SRv6 Service | Locator Block |
+ | Data Sub-Sub | Data Sub-Sub-TLV | Length |
+ | -TLV Type=1 | Length | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Locator Node | Function | Argument | Transposition |
+ | Length | Length | Length | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Transposition |
+ | Offset |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 5: SRv6 SID Structure Sub-Sub-TLV
+
+ SRv6 Service Data Sub-Sub-TLV Type (1 octet):
+ This field is set to 1 to represent the SRv6 SID Structure Sub-
+ Sub-TLV.
+
+ SRv6 Service Data Sub-Sub-TLV Length (2 octets):
+ This field contains a total length of 6 octets.
+
+ Locator Block Length (1 octet):
+ This field contains the length of the SRv6 SID Locator Block in
+ bits.
+
+ Locator Node Length (1 octet):
+ This field contains the length of the SRv6 SID Locator Node in
+ bits.
+
+ Function Length (1 octet):
+ This field contains the length of the SRv6 SID Function in bits.
+
+ Argument Length (1 octet):
+ This field contains the length of the SRv6 SID Argument in bits.
+
+ Transposition Length (1 octet):
+ This field is the size in bits for the part of the SID that has
+ been transposed (or shifted) into an MPLS Label field.
+
+ Transposition Offset (1 octet):
+ This field is the offset position in bits for the part of the SID
+ that has been transposed (or shifted) into an MPLS Label field.
+
+ Section 4 describes mechanisms for the signaling of the SRv6 Service
+ SID by transposing a variable part of the SRv6 SID value and carrying
+ this variable part in existing MPLS Label fields to achieve more
+ efficient packing of those service prefix NLRIs in BGP update
+ messages. The SRv6 SID Structure Sub-Sub-TLV contains appropriate
+ length fields when the SRv6 Service SID is signaled in split parts to
+ enable the receiver to put together the SID accurately.
+
+ Transposition Offset indicates the bit position, and Transposition
+ Length indicates the number of bits that are being taken out of the
+ SRv6 SID value and encoded in the MPLS Label field. The bits that
+ have been shifted out MUST be set to 0 in the SID value.
+
+ A Transposition Length of 0 indicates nothing is transposed and that
+ the entire SRv6 SID value is encoded in the SID Information Sub-TLV.
+ In this case, the Transposition Offset MUST be set to 0.
+
+ The size of the MPLS Label field limits the bits transposed from the
+ SRv6 SID value into it. For example, the size of the MPLS Label
+ field is 20 bits in [RFC4364] and [RFC8277], and the size is 24 bits
+ in [RFC7432].
+
+ As defined in [RFC8986], the sum of the Locator Block Length (LBL),
+ Locator Node Length (LNL), Function Length (FL), and Argument Length
+ (AL) fields MUST be less than or equal to 128 and greater than the
+ sum of Transposition Offset and Transposition Length.
+
+ As an example, consider that the sum of the Locator Block and the
+ Locator Node parts is 64. For an SRv6 SID where the entire Function
+ part of size 16 bits is transposed, the transposition offset is set
+ to 64 and the transposition length is set to 16. While for an SRv6
+ SID for which the FL is 24 bits and only the lower order 20 bits are
+ transposed (e.g., due to the limit of the MPLS Label field size), the
+ transposition offset is set to 68 and the transposition length is set
+ to 20.
+
+ BGP speakers that do not support this specification may misinterpret,
+ on the reception of an SRv6-based BGP service route update, the part
+ of the SRv6 SID encoded in an MPLS Label field(s) as MPLS label
+ values for MPLS-based services. Implementations supporting this
+ specification MUST provide a mechanism to control the advertisement
+ of SRv6-based BGP service routes on a per-neighbor and per-service
+ basis. The details of deployment designs and implementation options
+ are outside the scope of this document.
+
+ Arguments may be generally applicable for SIDs of only specific SRv6
+ Endpoint Behaviors (e.g., End.DT2M); therefore, the AL MUST be set to
+ 0 for SIDs where the Argument is not applicable. A receiver is
+ unable to validate the applicability of arguments for SRv6 Endpoint
+ Behaviors that are unknown to it and hence MUST ignore SRv6 SIDs with
+ arguments (indicated by a non-zero AL) with unknown SRv6 Endpoint
+ Behaviors. For SIDs corresponding to an SRv6 Endpoint Behavior that
+ is known, a receiver MUST validate that the consistency of the AL
+ with the specific SRv6 Endpoint Behavior definition.
+
+4. Encoding SRv6 SID Information
+
+ The SRv6 Service SID(s) for a BGP service prefix is carried in the
+ SRv6 Services TLVs of the BGP Prefix-SID attribute.
+
+ For certain types of BGP Services, like L3VPN where a per-VRF SID
+ allocation is used (i.e., End.DT4 or End.DT6 behaviors), the same SID
+ is shared across multiple NLRIs, thus providing efficient packing.
+ However, for certain other types of BGP Services, like EVPN Virtual
+ Private Wire Service (VPWS) where a per-PW SID allocation is required
+ (i.e., End.DX2 behavior), each NLRI would have its own unique SID,
+ thereby resulting in inefficient packing.
+
+ To achieve efficient packing, this document allows either 1) the
+ encoding of the SRv6 Service SID as a whole in the SRv6 Services TLVs
+ or 2) the encoding of only the common part of the SRv6 SID (e.g.,
+ Locator) in the SRv6 Services TLVs and the encoding of the variable
+ (e.g., Function or Argument parts) in the existing label fields
+ specific to that service encoding. This later form of encoding is
+ referred to as the Transposition Scheme, where the SRv6 SID Structure
+ Sub-Sub-TLV describes the sizes of the parts of the SRv6 SID and also
+ indicates the offset of the variable part along with its length in
+ the SRv6 SID value. The use of the Transposition Scheme is
+ RECOMMENDED for the specific service encodings that allow it, as
+ described further in Sections 5 and 6.
+
+ As an example, for the EVPN VPWS service prefix described further in
+ Section 6.1.2, the Function part of the SRv6 SID is encoded in the
+ MPLS Label field of the NLRI, and the SID value in the SRv6 Services
+ TLV carries only the Locator part with the SRv6 SID Structure Sub-
+ Sub-TLV. The SRv6 SID Structure Sub-Sub-TLV defines the lengths of
+ Locator Block, Locator Node, and Function parts (Arguments are not
+ applicable for the End.DX2 behavior). Transposition Offset indicates
+ the bit position, and Transposition Length indicates the number of
+ bits that are being taken out of the SID and put into the label
+ field.
+
+ In yet another example, for the EVPN Ethernet Auto-Discovery (A-D)
+ per Ethernet Segment (ES) route described further in Section 6.1.1,
+ only the Argument of the SID needs to be signaled. This Argument
+ part of the SRv6 SID MAY be transposed in the Ethernet Segment
+ Identifier (ESI) Label field of the ESI Label extended community, and
+ the SID value in the SRv6 Services TLV is set to 0 along with the
+ inclusion of the SRv6 SID Structure Sub-Sub-TLV. The SRv6 SID
+ Structure Sub-Sub-TLV defines the lengths of Locator Block, Locator
+ Node, Function, and Argument parts. The offset and length of the
+ Argument part SID value moved to the label field is set in
+ transposition offset and length of the SID Structure TLV. The
+ receiving router is then able to put together the entire SRv6 Service
+ SID (e.g., for the End.DT2M behavior), placing the label value
+ received in the ESI Label field of the Ethernet A-D per ES route into
+ the correct transposition offset and length in the SRv6 SID with the
+ End.DT2M behavior received for an EVPN Route Type 3 value.
+
+5. BGP-Based L3 Service over SRv6
+
+ BGP egress nodes (egress PEs) advertise a set of reachable prefixes.
+ Standard BGP update propagation schemes [RFC4271], which may make use
+ of route reflectors [RFC4456], are used to propagate these prefixes.
+ BGP ingress nodes (ingress PEs) receive these advertisements and may
+ add the prefix to the RIB in an appropriate VRF.
+
+ Egress PEs that support SRv6-based L3 services advertise overlay
+ service prefixes along with a Service SID enclosed in an SRv6 L3
+ Service TLV within the BGP Prefix-SID attribute. This TLV serves two
+ purposes -- first, it indicates that the egress PE supports SRv6
+ overlay, and the BGP ingress PE receiving this route MUST perform
+ IPv6 encapsulation and insert an SRH [RFC8754] when required; second,
+ it indicates the value of the Service SID to be used in the
+ encapsulation.
+
+ Thus, the Service SID signaled only has local significance at the
+ egress PE, where it may be allocated or configured on a per-Customer-
+ Edge (CE) or per-VRF basis. In practice, the SID may encode a cross-
+ connect to a specific address family table (End.DT) or next hop /
+ interface (End.DX), as defined in [RFC8986].
+
+ The SRv6 Service SID SHOULD be routable (refer to Section 3.3 of
+ [RFC8986]) within the Autonomous System (AS) of the egress PE and
+ serves the dual purpose of providing reachability between ingress PE
+ and egress PE while also encoding the SRv6 Endpoint Behavior.
+
+ When steering for SRv6 services is based on shortest path forwarding
+ (e.g., best effort or IGP Flexible Algorithm [IGP-FLEX-ALGO]) to the
+ egress PE, the ingress PE encapsulates the IPv4 or IPv6 customer
+ packet in an outer IPv6 header (using H.Encaps or H.Encaps.Red
+ flavors specified in [RFC8986]), where the destination address is the
+ SRv6 Service SID associated with the related BGP route update.
+ Therefore, the ingress PE MUST perform a resolvability check for the
+ SRv6 Service SID before considering the received prefix for the BGP
+ best path computation. The resolvability is evaluated as per
+ [RFC4271]. If the SRv6 SID is reachable via more than one forwarding
+ table, local policy is used to determine which table to use. The
+ result of an SRv6 Service SID resolvability (e.g., when provided via
+ IGP Flexible Algorithm) can be ignored if the ingress PE has a local
+ policy that allows an alternate steering mechanism to reach the
+ egress PE. The details of such steering mechanisms are outside the
+ scope of this document.
+
+ For service over SRv6 core, the egress PE sets the BGP next hop to
+ one of its IPv6 addresses. Such an address MAY be covered by the
+ SRv6 Locator from which the SRv6 Service SID is allocated. The BGP
+ next hop is used for tracking the reachability of the egress PE based
+ on existing BGP procedures.
+
+ When the BGP route received at an ingress PE is colored with a Color
+ Extended Community and a valid SRv6 Policy is available, the steering
+ for service flows is performed as described in Section 8 of
+ [SEGMENT-ROUTING-POLICY]. When the ingress PE determines (with the
+ help of the SRv6 SID Structure) that the Service SID belongs to the
+ same SRv6 Locator as the last SRv6 SID (of the egress PE) in the SR
+ Policy segment list, it MAY exclude that last SRv6 SID when steering
+ the service flow. For example, the effective segment list of the
+ SRv6 Policy associated with SID list <S1, S2, S3> would be <S1, S2,
+ S3-Service-SID>.
+
+5.1. IPv4 VPN over SRv6 Core
+
+ The MP_REACH_NLRI over SRv6 core is encoded according to IPv4 VPN
+ unicast over IPv6 core defined in [RFC8950].
+
+ The label field of IPv4-VPN NLRI is encoded as specified in [RFC8277]
+ with the 20-bit Label Value set to the whole or a portion of the
+ Function part of the SRv6 SID when the Transposition Scheme of
+ encoding (Section 4) is used; otherwise, it is set to Implicit NULL.
+ When using the Transposition Scheme, the Transposition Length MUST be
+ less than or equal to 20 and less than or equal to the FL.
+
+ The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV.
+ The SRv6 Endpoint Behavior SHOULD be one of these: End.DX4, End.DT4,
+ or End.DT46.
+
+5.2. IPv6 VPN over SRv6 Core
+
+ The MP_REACH_NLRI over SRv6 core is encoded according to IPv6 VPN
+ over IPv6 core, as defined in [RFC4659].
+
+ The label field of the IPv6-VPN NLRI is encoded as specified in
+ [RFC8277] with the 20-bit Label Value set to the whole or a portion
+ of the Function part of the SRv6 SID when the Transposition Scheme of
+ encoding (Section 4) is used; otherwise, it is set to Implicit NULL.
+ When using the Transposition Scheme, the Transposition Length MUST be
+ less than or equal to 20 and less than or equal to the FL.
+
+ The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV.
+ The SRv6 Endpoint Behavior SHOULD be one of these: End.DX6, End.DT6,
+ or End.DT46.
+
+5.3. Global IPv4 over SRv6 Core
+
+ The MP_REACH_NLRI over SRv6 core is encoded according to IPv4 over
+ IPv6 core, as defined in [RFC8950].
+
+ SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV. The
+ SRv6 Endpoint Behavior SHOULD be one of these: End.DX4, End.DT4, or
+ End.DT46.
+
+5.4. Global IPv6 over SRv6 Core
+
+ The MP_REACH_NLRI over SRv6 core is encoded according to [RFC2545].
+
+ The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV.
+ The SRv6 Endpoint Behavior SHOULD be one of these: End.DX6, End.DT6,
+ or End.DT46.
+
+6. BGP-Based Ethernet VPN (EVPN) over SRv6
+
+ [RFC7432] provides an extendable method of building an EVPN overlay.
+ It primarily focuses on MPLS-based EVPNs, and [RFC8365] extends to
+ IP-based EVPN overlays. [RFC7432] defines Route Types 1, 2, and 3,
+ which carry prefixes and MPLS Label fields; the Label fields have a
+ specific use for MPLS encapsulation of EVPN traffic. Route Type 5
+ carrying MPLS label information (and thus encapsulation information)
+ for an EVPN is defined in [RFC9136]. Route Types 6, 7, and 8 are
+ defined in [RFC9251].
+
+ * Ethernet Auto-Discovery (A-D) route (Route Type 1)
+
+ * MAC/IP Advertisement route (Route Type 2)
+
+ * Inclusive Multicast Ethernet Tag route (Route Type 3)
+
+ * Ethernet Segment route (Route Type 4)
+
+ * IP Prefix route (Route Type 5)
+
+ * Selective Multicast Ethernet Tag route (Route Type 6)
+
+ * Multicast Membership Report Synch route (Route Type 7)
+
+ * Multicast Leave Synch route (Route Type 8)
+
+ The specifications for other EVPN Route Types are outside the scope
+ of this document.
+
+ To support SRv6-based EVPN overlays, one or more SRv6 Service SIDs
+ are advertised with Route Types 1, 2, 3, and 5. The SRv6 Service
+ SID(s) per Route Type is advertised in SRv6 L3/L2 Service TLVs within
+ the BGP Prefix-SID attribute. Signaling of the SRv6 Service SID(s)
+ serves two purposes -- first, it indicates that the BGP egress device
+ supports SRv6 overlay, and the BGP ingress device receiving this
+ route MUST perform IPv6 encapsulation and insert an SRH [RFC8754]
+ when required; second, it indicates the value of the Service SID(s)
+ to be used in the encapsulation.
+
+ The SRv6 Service SID SHOULD be routable (refer to Section 3.3 of
+ [RFC8986]) within the AS of the egress PE and serves the dual purpose
+ of providing reachability between the ingress PE and egress PE while
+ also encoding the SRv6 Endpoint Behavior.
+
+ When steering for SRv6 services is based on shortest path forwarding
+ (e.g., best effort or IGP Flexible Algorithm [IGP-FLEX-ALGO]) to the
+ egress PE, the ingress PE encapsulates the customer Layer 2 Ethernet
+ packet in an outer IPv6 header (using H.Encaps.L2 or H.Encaps.L2.Red
+ flavors specified in [RFC8986]) where the destination address is the
+ SRv6 Service SID associated with the related BGP route update.
+ Therefore, the ingress PE MUST perform a resolvability check for the
+ SRv6 Service SID before considering the received prefix for the BGP
+ best path computation. The resolvability is evaluated as per
+ [RFC4271]. If the SRv6 SID is reachable via more than one forwarding
+ table, local policy is used to determine which table to use. The
+ result of an SRv6 Service SID resolvability (e.g., when provided via
+ IGP Flexible Algorithm) can be ignored if the ingress PE has a local
+ policy that allows an alternate steering mechanism to reach the
+ egress PE. The details of such steering mechanisms are outside the
+ scope of this document.
+
+ For service over SRv6 core, the egress PE sets the BGP next hop to
+ one of its IPv6 addresses. Such an address MAY be covered by the
+ SRv6 Locator from which the SRv6 Service SID is allocated. The BGP
+ next hop is used for tracking the reachability of the egress PE based
+ on existing BGP procedures.
+
+ When the BGP route received at an ingress PE is colored with a Color
+ Extended Community and a valid SRv6 Policy is available, the steering
+ for service flows is performed as described in Section 8 of
+ [SEGMENT-ROUTING-POLICY]. When the ingress PE determines (with the
+ help of the SRv6 SID Structure) that the Service SID belongs to the
+ same SRv6 Locator as the last SRv6 SID (of the egress PE) in the SR
+ Policy segment list, it MAY exclude that last SRv6 SID when steering
+ the service flow. For example, the effective segment list of the
+ SRv6 Policy associated with SID list <S1, S2, S3> would be <S1, S2,
+ S3-Service-SID>.
+
+6.1. Ethernet Auto-Discovery Route over SRv6 Core
+
+ Ethernet A-D routes are Route Type 1, as defined in [RFC7432], and
+ may be used to achieve split-horizon filtering, fast convergence, and
+ aliasing. EVPN Route Type 1 is also used in EVPN-VPWS as well as in
+ EVPN-flexible cross-connect, mainly to advertise point-to-point
+ service IDs.
+
+ As a reminder, EVPN Route Type 1 is encoded as follows:
+
+ +-----------------------------------------+
+ | RD (8 octets) |
+ +-----------------------------------------+
+ | Ethernet Segment Identifier (10 octets)|
+ +-----------------------------------------+
+ | Ethernet Tag ID (4 octets) |
+ +-----------------------------------------+
+ | MPLS label (3 octets) |
+ +-----------------------------------------+
+
+ Figure 6: EVPN Route Type 1
+
+6.1.1. Ethernet A-D per ES Route
+
+ Ethernet A-D per ES route NLRI encoding over SRv6 core is as per
+ [RFC7432].
+
+ The 24-bit ESI Label field of the ESI Label extended community
+ carries the whole or a portion of the Argument part of the SRv6 SID
+ when the ESI filtering approach is used along with the Transposition
+ Scheme of encoding (Section 4); otherwise, it is set to Implicit NULL
+ in the higher-order 20 bits (i.e., as 0x000030). In either case, the
+ value is set in the 24 bits. When using the Transposition Scheme,
+ the Transposition Length MUST be less than or equal to 24 and less
+ than or equal to the AL.
+
+ A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
+ Prefix-SID attribute is advertised along with the A-D route. The
+ SRv6 Endpoint Behavior SHOULD be End.DT2M. When the ESI filtering
+ approach is used, the Service SID is used to signal the Arg.FE2 SID
+ Argument for applicable End.DT2M behavior [RFC8986]. When the local-
+ bias approach [RFC8365] is used, the Service SID MAY be of value 0.
+
+6.1.2. Ethernet A-D per EVI Route
+
+ Ethernet A-D per EVPN Instance (EVI) route NLRI encoding over SRv6
+ core is similar to what is described in [RFC7432] and [RFC8214] with
+ the following change:
+
+ MPLS Label:
+ The 24-bit field carries the whole or a portion of the Function
+ part of the SRv6 SID when the Transposition Scheme of encoding
+ (Section 4) is used; otherwise, it is set to Implicit NULL in the
+ higher-order 20 bits (i.e., as 0x000030). In either case, the
+ value is set in the 24 bits. When using the Transposition Scheme,
+ the Transposition Length MUST be less than or equal to 24 and less
+ than or equal to the FL.
+
+ A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
+ Prefix-SID attribute is advertised along with the A-D route. The
+ SRv6 Endpoint Behavior SHOULD be one of these: End.DX2, End.DX2V, or
+ End.DT2U.
+
+6.2. MAC/IP Advertisement Route over SRv6 Core
+
+ EVPN Route Type 2 is used to advertise unicast traffic Media Access
+ Control (MAC) + IP address reachability through MP-BGP to all other
+ PEs in a given EVPN instance.
+
+ As a reminder, EVPN Route Type 2 is encoded as follows:
+
+ +-----------------------------------------+
+ | RD (8 octets) |
+ +-----------------------------------------+
+ | Ethernet Segment Identifier (10 octets)|
+ +-----------------------------------------+
+ | Ethernet Tag ID (4 octets) |
+ +-----------------------------------------+
+ | MAC Address Length (1 octet) |
+ +-----------------------------------------+
+ | MAC Address (6 octets) |
+ +-----------------------------------------+
+ | IP Address Length (1 octet) |
+ +-----------------------------------------+
+ | IP Address (0, 4, or 16 octets) |
+ +-----------------------------------------+
+ | MPLS Label1 (3 octets) |
+ +-----------------------------------------+
+ | MPLS Label2 (0 or 3 octets) |
+ +-----------------------------------------+
+
+ Figure 7: EVPN Route Type 2
+
+ NLRI encoding over SRv6 core is similar to what is described in
+ [RFC7432] with the following changes:
+
+ MPLS Label1:
+ This is associated with the SRv6 L2 Service TLV. This 24-bit
+ field carries the whole or a portion of the Function part of the
+ SRv6 SID when the Transposition Scheme of encoding (Section 4) is
+ used; otherwise, it is set to Implicit NULL in the higher-order 20
+ bits (i.e., as 0x000030). In either case, the value is set in the
+ 24 bits. When using the Transposition Scheme, the Transposition
+ Length MUST be less than or equal to 24 and less than or equal to
+ the FL.
+
+ MPLS Label2:
+ This is associated with the SRv6 L3 Service TLV. This 24-bit
+ field carries the whole or a portion of the Function part of the
+ SRv6 SID when the Transposition Scheme of encoding (Section 4) is
+ used; otherwise, it is set to Implicit NULL in the higher-order 20
+ bits (i.e., as 0x000030). In either case, the value is set in the
+ 24 bits. When using the Transposition Scheme, the Transposition
+ Length MUST be less than or equal to 24 and less than or equal to
+ the FL.
+
+ Service SIDs enclosed in the SRv6 L2 Service TLV and optionally in
+ the SRv6 L3 Service TLV within the BGP Prefix-SID attribute are
+ advertised along with the MAC/IP Advertisement route.
+
+ Described below are different types of Route Type 2 advertisements.
+
+6.2.1. MAC/IP Advertisement Route with MAC Only
+
+ MPLS Label1:
+ This is associated with the SRv6 L2 Service TLV. This 24-bit
+ field carries the whole or a portion of the Function part of the
+ SRv6 SID when the Transposition Scheme of encoding (Section 4) is
+ used; otherwise, it is set to Implicit NULL in the higher-order 20
+ bits (i.e., as 0x000030). In either case, the value is set in the
+ 24 bits. When using the Transposition Scheme, the Transposition
+ Length MUST be less than or equal to 24 and less than or equal to
+ the FL.
+
+ A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
+ Prefix-SID attribute is advertised along with the route. The SRv6
+ Endpoint Behavior SHOULD be one of these: End.DX2 or End.DT2U.
+
+6.2.2. MAC/IP Advertisement Route with MAC+IP
+
+ MPLS Label1:
+ This is associated with the SRv6 L2 Service TLV. This 24-bit
+ field carries the whole or a portion of the Function part of the
+ SRv6 SID when the Transposition Scheme of encoding (Section 4) is
+ used; otherwise, it is set to Implicit NULL in the higher-order 20
+ bits (i.e., as 0x000030). In either case, the value is set in the
+ 24 bits. When using the Transposition Scheme, the Transposition
+ Length MUST be less than or equal to 24 and less than or equal to
+ the FL.
+
+ MPLS Label2:
+ This is associated with the SRv6 L3 Service TLV. This 24-bit
+ field carries the whole or a portion of the Function part of the
+ SRv6 SID when the Transposition Scheme of encoding (Section 4) is
+ used; otherwise, it is set to Implicit NULL in the higher-order 20
+ bits (i.e., as 0x000030). In either case, the value is set in the
+ 24 bits. When using the Transposition Scheme, the Transposition
+ Length MUST be less than or equal to 24 and less than or equal to
+ the FL.
+
+ An L2 Service SID enclosed in an SRv6 L2 Service TLV within the BGP
+ Prefix-SID attribute is advertised along with the route. In
+ addition, an L3 Service SID enclosed in an SRv6 L3 Service TLV within
+ the BGP Prefix-SID attribute MAY also be advertised along with the
+ route. The SRv6 Endpoint Behavior SHOULD be one of these: for the L2
+ Service SID, End.DX2 or End.DT2U and for the L3 Service SID,
+ End.DT46, End.DT4, End.DT6, End.DX4, or End.DX6.
+
+6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core
+
+ EVPN Route Type 3 is used to advertise multicast traffic reachability
+ information through MP-BGP to all other PEs in a given EVPN instance.
+
+ As a reminder, EVPN Route Type 3 is encoded as follows:
+
+ +---------------------------------------+
+ | RD (8 octets) |
+ +---------------------------------------+
+ | Ethernet Tag ID (4 octets) |
+ +---------------------------------------+
+ | IP Address Length (1 octet) |
+ +---------------------------------------+
+ | Originating Router's IP Address |
+ | (4 or 16 octets) |
+ +---------------------------------------+
+
+ Figure 8: EVPN Route Type 3
+
+ NLRI encoding over SRv6 core is similar to what is described in
+ [RFC7432].
+
+ The P-Multicast Service Interface (PMSI) Tunnel Attribute [RFC6514]
+ is used to identify the Provider tunnel (P-tunnel) used for sending
+ Broadcast, Unknown Unicast, or Multicast (BUM) traffic. The format
+ of the PMSI Tunnel Attribute is encoded as follows over SRv6 core:
+
+ +---------------------------------------+
+ | Flag (1 octet) |
+ +---------------------------------------+
+ | Tunnel Type (1 octet) |
+ +---------------------------------------+
+ | MPLS label (3 octets) |
+ +---------------------------------------+
+ | Tunnel Identifier (variable) |
+ +---------------------------------------+
+
+ Figure 9: PMSI Tunnel Attribute
+
+ Flag:
+ This field has a value of 0, as defined per [RFC7432].
+
+ Tunnel Type:
+ This field is defined per [RFC6514].
+
+ MPLS label:
+ This 24-bit field carries the whole or a portion of the Function
+ part of the SRv6 SID when ingress replication is used and the
+ Transposition Scheme of encoding (Section 4) is used; otherwise,
+ it is set as defined in [RFC6514]. When using the Transposition
+ Scheme, the Transposition Length MUST be less than or equal to 24
+ and less than or equal to the FL.
+
+ Tunnel Identifier:
+ This field is the IP address of egress PE.
+
+ A Service SID enclosed in an SRv6 L2 Service TLV within the BGP
+ Prefix-SID attribute is advertised along with the route. The SRv6
+ Endpoint Behavior SHOULD be End.DT2M.
+
+ * When ESI-based filtering is used for multihoming or Ethernet Tree
+ (E-Tree) procedures, the ESI Filtering Argument (the Arg.FE2
+ notation introduced in [RFC8986]) of the Service SID carried along
+ with EVPN Route Type 1 SHOULD be merged with the applicable
+ End.DT2M SID of Route Type 3 advertised by the remote PE by doing
+ a bitwise logical-OR operation to create a single SID on the
+ ingress PE. Details of split-horizon, ESI-based filtering
+ mechanisms for multihoming are described in [RFC7432]. Details of
+ filtering mechanisms for Leaf-originated BUM traffic in EVPN
+ E-Tree services are provided in [RFC8317].
+
+ * When "local-bias" is used as the multihoming split-horizon method,
+ the ESI Filtering Argument SHOULD NOT be merged with the
+ corresponding End.DT2M SID on the ingress PE. Details of the
+ local-bias procedures are described in [RFC8365].
+
+ Usage of multicast trees as P-tunnels is outside the scope of this
+ document.
+
+6.4. Ethernet Segment Route over SRv6 Core
+
+ As a reminder, an Ethernet Segment route (i.e., EVPN Route Type 4) is
+ encoded as follows:
+
+ +---------------------------------------+
+ | RD (8 octets) |
+ +---------------------------------------+
+ | Ethernet Tag ID (4 octets) |
+ +---------------------------------------+
+ | IP Address Length (1 octet) |
+ +---------------------------------------+
+ | Originating Router's IP Address |
+ | (4 or 16 octets) |
+ +---------------------------------------+
+
+ Figure 10: EVPN Route Type 4
+
+ NLRI encoding over SRv6 core is similar to what is described in
+ [RFC7432].
+
+ SRv6 Service TLVs within the BGP Prefix-SID attribute are not
+ advertised along with this route. The processing of the route has
+ not changed -- it remains as described in [RFC7432].
+
+6.5. IP Prefix Route over SRv6 Core
+
+ EVPN Route Type 5 is used to advertise IP address reachability
+ through MP-BGP to all other PEs in a given EVPN instance. The IP
+ address may include a host IP prefix or any specific subnet.
+
+ As a reminder, EVPN Route Type 5 is encoded as follows:
+
+ +-----------------------------------------+
+ | RD (8 octets) |
+ +-----------------------------------------+
+ | Ethernet Segment Identifier (10 octets)|
+ +-----------------------------------------+
+ | Ethernet Tag ID (4 octets) |
+ +-----------------------------------------+
+ | IP Prefix Length (1 octet) |
+ +-----------------------------------------+
+ | IP Prefix (4 or 16 octets) |
+ +-----------------------------------------+
+ | GW IP Address (4 or 16 octets) |
+ +-----------------------------------------+
+ | MPLS Label (3 octets) |
+ +-----------------------------------------+
+
+ Figure 11: EVPN Route Type 5
+
+ NLRI encoding over SRv6 core is similar to what is described in
+ [RFC9136] with the following change:
+
+ MPLS Label:
+ This 24-bit field carries the whole or a portion of the Function
+ part of the SRv6 SID when the Transposition Scheme of encoding
+ (Section 4) is used; otherwise, it is set to Implicit NULL in the
+ higher-order 20 bits (i.e., as 0x000030). In either case, the
+ value is set in the 24 bits. When using the Transposition Scheme,
+ the Transposition Length MUST be less than or equal to 24 and less
+ than or equal to the FL.
+
+ The SRv6 Service SID is encoded as part of the SRv6 L3 Service TLV.
+ The SRv6 Endpoint Behavior SHOULD be one of these: End.DT4, End.DT6,
+ End.DT46, End.DX4, or End.DX6.
+
+6.6. EVPN Multicast Routes (Route Types 6, 7, and 8) over SRv6 Core
+
+ These routes do not require the advertisement of SRv6 Service TLVs
+ along with them. Similar to EVPN Route Type 4, the BGP next hop is
+ equal to the IPv6 address of egress PE.
+
+7. Error Handling
+
+ In case of any errors encountered while processing SRv6 Service TLVs,
+ the details of the error SHOULD be logged for further analysis.
+
+ If multiple instances of the SRv6 L3 Service TLV are encountered, all
+ but the first instance MUST be ignored.
+
+ If multiple instances of the SRv6 L2 Service TLV are encountered, all
+ but the first instance MUST be ignored.
+
+ An SRv6 Service TLV is considered malformed in the following cases:
+
+ * The TLV Length is less than 1.
+
+ * The TLV Length is inconsistent with the length of the BGP Prefix-
+ SID attribute.
+
+ * At least one of the constituent Sub-TLVs is malformed.
+
+ An SRv6 Service Sub-TLV is considered malformed in the following
+ case:
+
+ * The Sub-TLV Length is inconsistent with the length of the
+ enclosing SRv6 Service TLV.
+
+ An SRv6 SID Information Sub-TLV is considered malformed in the
+ following cases:
+
+ * The Sub-TLV Length is less than 21.
+
+ * The Sub-TLV Length is inconsistent with the length of the
+ enclosing SRv6 Service TLV.
+
+ * At least one of the constituent Sub-Sub-TLVs is malformed.
+
+ An SRv6 Service Data Sub-Sub-TLV is considered malformed in the
+ following case:
+
+ * The Sub-Sub-TLV Length is inconsistent with the length of the
+ enclosing SRv6 service Sub-TLV.
+
+ Any TLV, Sub-TLV, or Sub-Sub-TLV is not considered malformed because
+ its Type is unrecognized.
+
+ Any TLV, Sub-TLV, or Sub-Sub-TLV is not considered malformed because
+ of failing any semantic validation of its Value field.
+
+ The SRv6 overlay service requires the Service SID for forwarding.
+ The treat-as-withdraw action [RFC7606] MUST be performed when at
+ least one malformed SRv6 Service TLV is present in the BGP Prefix-SID
+ attribute.
+
+ The SRv6 SID value in the SRv6 SID Information Sub-TLV is invalid
+ when the SID Structure Sub-Sub-TLV transposition length is greater
+ than the number of bits of the label field or if any of the
+ conditions for the fields of the Sub-Sub-TLV, as specified in
+ Section 3.2.1, is not met. The transposition offset and length MUST
+ be 0 when the Sub-Sub-TLV is advertised along with routes where the
+ Transposition Scheme is not applicable (e.g., for global IPv6 service
+ [RFC2545] where there is no label field). The path having any such
+ Prefix-SID attribute without any valid SRv6 SID information MUST be
+ considered ineligible during the selection of the best path for the
+ corresponding prefix.
+
+8. IANA Considerations
+
+8.1. BGP Prefix-SID TLV Types Registry
+
+ This document introduces two new TLV Types of the BGP Prefix-SID
+ attribute. IANA has assigned Type values in the "BGP Prefix-SID TLV
+ Types" subregistry as follows:
+
+ +=======+=====================+===========+
+ | Value | Type | Reference |
+ +=======+=====================+===========+
+ | 4 | Deprecated | RFC 9252 |
+ +-------+---------------------+-----------+
+ | 5 | SRv6 L3 Service TLV | RFC 9252 |
+ +-------+---------------------+-----------+
+ | 6 | SRv6 L2 Service TLV | RFC 9252 |
+ +-------+---------------------+-----------+
+
+ Table 1: BGP Prefix-SID TLV Types
+ Subregistry
+
+ Value 4 previously corresponded to the SRv6-VPN SID TLV, which was
+ specified in earlier draft versions of this document and used by
+ early implementations of this specification. It was deprecated and
+ replaced by the SRv6 L3 Service and SRv6 L2 Service TLVs.
+
+8.2. SRv6 Service Sub-TLV Types Registry
+
+ IANA has created and now maintains a new subregistry called "SRv6
+ Service Sub-TLV Types" under the "Border Gateway Protocol (BGP)
+ Parameters" registry. The registration procedures, per [RFC8126],
+ for this subregistry are according to Table 2.
+
+ +=========+=========================+
+ | Range | Registration Procedures |
+ +=========+=========================+
+ | 1-127 | IETF Review |
+ +---------+-------------------------+
+ | 128-254 | First Come First Served |
+ +---------+-------------------------+
+ | 255 | IETF Review |
+ +---------+-------------------------+
+
+ Table 2: SRv6 Service Sub-TLV
+ Types Subregistry Registration
+ Procedures
+
+ IANA has populated this subregistry as follows. Note that the SRv6
+ SID Information Sub-TLV is defined in this document:
+
+ +=======+==============================+===========+
+ | Value | Type | Reference |
+ +=======+==============================+===========+
+ | 0 | Reserved | RFC 9252 |
+ +-------+------------------------------+-----------+
+ | 1 | SRv6 SID Information Sub-TLV | RFC 9252 |
+ +-------+------------------------------+-----------+
+ | 255 | Reserved | RFC 9252 |
+ +-------+------------------------------+-----------+
+
+ Table 3: SRv6 Service Sub-TLV Types Subregistry
+ Initial Contents
+
+8.3. SRv6 Service Data Sub-Sub-TLV Types Registry
+
+ IANA has created and now maintains a new subregistry called "SRv6
+ Service Data Sub-Sub-TLV Types" under the "Border Gateway Protocol
+ (BGP) Parameters" registry. The registration procedures for this
+ subregistry are according to Table 4.
+
+ +=========+=========================+
+ | Range | Registration Procedure |
+ +=========+=========================+
+ | 1-127 | IETF Review |
+ +---------+-------------------------+
+ | 128-254 | First Come First Served |
+ +---------+-------------------------+
+ | 255 | IETF Review |
+ +---------+-------------------------+
+
+ Table 4: SRv6 Service Data Sub-
+ Sub-TLV Types Subregistry
+ Registration Procedures
+
+ The following Sub-Sub-TLV Type is defined in this document:
+
+ +=======+================================+===========+
+ | Value | Type | Reference |
+ +=======+================================+===========+
+ | 0 | Reserved | RFC 9252 |
+ +-------+--------------------------------+-----------+
+ | 1 | SRv6 SID Structure Sub-Sub-TLV | RFC 9252 |
+ +-------+--------------------------------+-----------+
+ | 255 | Reserved | RFC 9252 |
+ +-------+--------------------------------+-----------+
+
+ Table 5: SRv6 Service Data Sub-Sub-TLV Types
+ Subregistry Initial Contents
+
+8.4. BGP SRv6 Service SID Flags Registry
+
+ IANA has created and now maintains a new subregistry called "BGP SRv6
+ Service SID Flags" under the "Border Gateway Protocol (BGP)
+ Parameters" registry. The registration procedure for this
+ subregistry is IETF Review, and all 8-bit positions of the flags are
+ currently unassigned.
+
+8.5. SAFI Values Registry
+
+ IANA has added this document as a reference for value 128 ("MPLS-
+ labeled VPN address") in the "SAFI Values" subregistry under the
+ "Subsequent Address Family Identifiers (SAFI) Parameters" registry.
+
+9. Security Considerations
+
+ This document specifies extensions to the BGP protocol for the
+ signaling of services for SRv6. These specifications leverage
+ existing BGP protocol mechanisms for the signaling of various types
+ of services. It also builds upon existing elements of the SR
+ architecture (more specifically, SRv6). As such, this section
+ largely provides pointers (as a reminder) to the security
+ considerations of those existing specifications while also covering
+ certain, newer security aspects for the specifications newly
+ introduced by this document.
+
+9.1. Considerations Related to BGP Sessions
+
+ Techniques related to authentication of BGP sessions for securing
+ messages between BGP peers, as discussed in the BGP specification
+ [RFC4271] and in the security analysis for BGP [RFC4272], apply. The
+ discussion of the use of the TCP Authentication Option to protect BGP
+ sessions is found in [RFC5925], while [RFC6952] includes an analysis
+ of BGP keying and authentication issues. This document does not
+ introduce any additional BGP session security considerations.
+
+9.2. Considerations Related to BGP Services
+
+ This document does not introduce new services or BGP NLRI types but
+ extends the signaling of existing ones for SRv6. Therefore, the
+ security considerations for the respective BGP services, such as BGP
+ IPv4 over IPv6 NH [RFC8950], BGP IPv6 L3VPN [RFC4659], BGP IPv6
+ [RFC2545], BGP EVPN [RFC7432], and IP EVPN [RFC9136], apply as
+ discussed in their respective documents. [RFC8669] discusses
+ mechanisms to prevent the leaking of the BGP Prefix-SID attribute,
+ which carries SR information, outside the SR domain.
+
+ As a reminder, several of the BGP services (i.e., the AFI/SAFI used
+ for their signaling) were initially introduced for one encapsulation
+ mechanism and later extended for others, e.g., EVPN MPLS [RFC7432]
+ was extended for Virtual eXtensible Local Area Network (VXLAN)
+ encapsulation and Network Virtualization Using Generic Routing
+ Encapsulation (NVGRE) [RFC8365]. [RFC9012] enables the use of
+ various IP encapsulation mechanisms along with different BGP SAFIs
+ for their respective services. The existing filtering mechanisms for
+ preventing the leak of the encapsulation information (carried in BGP
+ attributes) and preventing the advertisement of prefixes from the
+ provider's internal address space (especially the SRv6 Block, as
+ discussed in [RFC8986]) to external peers (or into the Internet) also
+ apply in the case of SRv6.
+
+ Specific to SRv6, a misconfiguration or error in the BGP filtering
+ mechanisms mentioned above may result in exposing information, such
+ as SRv6 Service SIDs to external peers or other unauthorized
+ entities. However, an attempt to exploit this information or to
+ raise an attack by injecting packets into the network (e.g., customer
+ networks in case of VPN services) is mitigated by the existing SRv6
+ data plane security mechanisms, as described in the next section.
+
+9.3. Considerations Related to SR over IPv6 Data Plane
+
+ This section provides a brief reminder and an overview of the
+ security considerations related to SRv6 with pointers to existing
+ specifications. This document introduces no new security
+ considerations of its own from the SRv6 data plane perspective.
+
+ SRv6 operates within a trusted SR domain. The data packets
+ corresponding to service flows between PE routers are encapsulated
+ (using SRv6 SIDs advertised via BGP) and carried within this trusted
+ SR domain (e.g., within a single AS or between multiple ASes within a
+ single provider network).
+
+ The security considerations of the SR architecture are covered by
+ [RFC8402]. More detailed security considerations, specifically of
+ SRv6 and SRH, are covered by [RFC8754] as they relate to SR Attacks
+ (Section 7.1), Service Theft (Section 7.2), and Topology Disclosure
+ (Section 7.3). As such, an operator deploying SRv6 MUST follow the
+ considerations described in Section 7 of [RFC8754] to implement the
+ infrastructure Access Control Lists (ACLs) and the recommendations
+ described in BCP 38 [RFC2827] and BCP 84 [RFC3704].
+
+ The SRv6 deployment and SID allocation guidelines, as described in
+ [RFC8986], simplify the deployment of the ACL filters (e.g., a single
+ ACL corresponding to the SRv6 Block applied to the external
+ interfaces on border nodes is sufficient to block packets destined to
+ any SRv6 SID in the domain from external/unauthorized networks).
+ While there is an assumed trust model within an SR domain, such that
+ any node sending a packet to an SRv6 SID is assumed to be allowed to
+ do so, there is also the option of using an SRH Hashed Message
+ Authentication Code (HMAC) TLV [RFC8754], as described in [RFC8986],
+ for validation.
+
+ The SRv6 Endpoint Behaviors implementing the services signaled in
+ this document are defined in [RFC8986]; hence, the security
+ considerations of that document apply. These considerations are
+ independent of the protocol used for service deployment, i.e.,
+ independent of BGP signaling of SRv6 services.
+
+ These considerations help protect transit traffic as well as
+ services, such as VPNs, to avoid service theft or injection of
+ traffic into customer VPNs.
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2545] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol
+ Extensions for IPv6 Inter-Domain Routing", RFC 2545,
+ DOI 10.17487/RFC2545, March 1999,
+ <https://www.rfc-editor.org/info/rfc2545>.
+
+ [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
+ Border Gateway Protocol 4 (BGP-4)", RFC 4271,
+ DOI 10.17487/RFC4271, January 2006,
+ <https://www.rfc-editor.org/info/rfc4271>.
+
+ [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
+ Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
+ 2006, <https://www.rfc-editor.org/info/rfc4364>.
+
+ [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route
+ Reflection: An Alternative to Full Mesh Internal BGP
+ (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006,
+ <https://www.rfc-editor.org/info/rfc4456>.
+
+ [RFC4659] De Clercq, J., Ooms, D., Carugi, M., and F. Le Faucheur,
+ "BGP-MPLS IP Virtual Private Network (VPN) Extension for
+ IPv6 VPN", RFC 4659, DOI 10.17487/RFC4659, September 2006,
+ <https://www.rfc-editor.org/info/rfc4659>.
+
+ [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
+ "Multiprotocol Extensions for BGP-4", RFC 4760,
+ DOI 10.17487/RFC4760, January 2007,
+ <https://www.rfc-editor.org/info/rfc4760>.
+
+ [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
+ Encodings and Procedures for Multicast in MPLS/BGP IP
+ VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
+ <https://www.rfc-editor.org/info/rfc6514>.
+
+ [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A.,
+ Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based
+ Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February
+ 2015, <https://www.rfc-editor.org/info/rfc7432>.
+
+ [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K.
+ Patel, "Revised Error Handling for BGP UPDATE Messages",
+ RFC 7606, DOI 10.17487/RFC7606, August 2015,
+ <https://www.rfc-editor.org/info/rfc7606>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", STD 86, RFC 8200,
+ DOI 10.17487/RFC8200, July 2017,
+ <https://www.rfc-editor.org/info/rfc8200>.
+
+ [RFC8214] Boutros, S., Sajassi, A., Salam, S., Drake, J., and J.
+ Rabadan, "Virtual Private Wire Service Support in Ethernet
+ VPN", RFC 8214, DOI 10.17487/RFC8214, August 2017,
+ <https://www.rfc-editor.org/info/rfc8214>.
+
+ [RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address
+ Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017,
+ <https://www.rfc-editor.org/info/rfc8277>.
+
+ [RFC8317] Sajassi, A., Ed., Salam, S., Drake, J., Uttaro, J.,
+ Boutros, S., and J. Rabadan, "Ethernet-Tree (E-Tree)
+ Support in Ethernet VPN (EVPN) and Provider Backbone
+ Bridging EVPN (PBB-EVPN)", RFC 8317, DOI 10.17487/RFC8317,
+ January 2018, <https://www.rfc-editor.org/info/rfc8317>.
+
+ [RFC8365] Sajassi, A., Ed., Drake, J., Ed., Bitar, N., Shekhar, R.,
+ Uttaro, J., and W. Henderickx, "A Network Virtualization
+ Overlay Solution Using Ethernet VPN (EVPN)", RFC 8365,
+ DOI 10.17487/RFC8365, March 2018,
+ <https://www.rfc-editor.org/info/rfc8365>.
+
+ [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
+ Decraene, B., Litkowski, S., and R. Shakir, "Segment
+ Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
+ July 2018, <https://www.rfc-editor.org/info/rfc8402>.
+
+ [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah,
+ A., and H. Gredler, "Segment Routing Prefix Segment
+ Identifier Extensions for BGP", RFC 8669,
+ DOI 10.17487/RFC8669, December 2019,
+ <https://www.rfc-editor.org/info/rfc8669>.
+
+ [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
+ Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
+ (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
+ <https://www.rfc-editor.org/info/rfc8754>.
+
+ [RFC8950] Litkowski, S., Agrawal, S., Ananthamurthy, K., and K.
+ Patel, "Advertising IPv4 Network Layer Reachability
+ Information (NLRI) with an IPv6 Next Hop", RFC 8950,
+ DOI 10.17487/RFC8950, November 2020,
+ <https://www.rfc-editor.org/info/rfc8950>.
+
+ [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
+ D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
+ (SRv6) Network Programming", RFC 8986,
+ DOI 10.17487/RFC8986, February 2021,
+ <https://www.rfc-editor.org/info/rfc8986>.
+
+ [RFC9136] Rabadan, J., Ed., Henderickx, W., Drake, J., Lin, W., and
+ A. Sajassi, "IP Prefix Advertisement in Ethernet VPN
+ (EVPN)", RFC 9136, DOI 10.17487/RFC9136, October 2021,
+ <https://www.rfc-editor.org/info/rfc9136>.
+
+ [RFC9251] Sajassi, A., Thoria, S., Mishra, M., Patel, K., Drake, J.,
+ and W. Lin, "Internet Group Management Protocol (IGMP) and
+ Multicast Listener Discovery (MLD) Proxies for Ethernet
+ VPN (EVPN)", RFC 9251, DOI 10.17487/RFC9251, June 2022,
+ <https://www.rfc-editor.org/info/rfc9251>.
+
+10.2. Informative References
+
+ [IGP-FLEX-ALGO]
+ Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
+ and A. Gulko, "IGP Flexible Algorithm", Work in Progress,
+ Internet-Draft, draft-ietf-lsr-flex-algo-20, 18 May 2022,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-lsr-
+ flex-algo-20>.
+
+ [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
+ Defeating Denial of Service Attacks which employ IP Source
+ Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827,
+ May 2000, <https://www.rfc-editor.org/info/rfc2827>.
+
+ [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
+ Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March
+ 2004, <https://www.rfc-editor.org/info/rfc3704>.
+
+ [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
+ RFC 4272, DOI 10.17487/RFC4272, January 2006,
+ <https://www.rfc-editor.org/info/rfc4272>.
+
+ [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
+ Authentication Option", RFC 5925, DOI 10.17487/RFC5925,
+ June 2010, <https://www.rfc-editor.org/info/rfc5925>.
+
+ [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
+ BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
+ 2012, <https://www.rfc-editor.org/info/rfc6513>.
+
+ [RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
+ BGP, LDP, PCEP, and MSDP Issues According to the Keying
+ and Authentication for Routing Protocols (KARP) Design
+ Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
+ <https://www.rfc-editor.org/info/rfc6952>.
+
+ [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
+ Writing an IANA Considerations Section in RFCs", BCP 26,
+ RFC 8126, DOI 10.17487/RFC8126, June 2017,
+ <https://www.rfc-editor.org/info/rfc8126>.
+
+ [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder,
+ "The BGP Tunnel Encapsulation Attribute", RFC 9012,
+ DOI 10.17487/RFC9012, April 2021,
+ <https://www.rfc-editor.org/info/rfc9012>.
+
+ [SEGMENT-ROUTING-POLICY]
+ Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
+ A., and P. Mattes, "Segment Routing Policy Architecture",
+ Work in Progress, Internet-Draft, draft-ietf-spring-
+ segment-routing-policy-22, 22 March 2022,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
+ segment-routing-policy-22>.
+
+Acknowledgements
+
+ The authors of this document would like to thank Stephane Litkowski,
+ Rishabh Parekh, Xiejingrong, Rajesh M., Mustapha Aissaoui, Alexander
+ Vainshtein, Eduard Metz, Shraddha Hegde, Eduard Vasilenko, Ron
+ Bonica, and Joel Halpern for their comments and review of this
+ document. The authors would also like to thank Document Shepherd
+ Matthew Bocci for his review and AD Martin Vigoureux for his review
+ that resulted in helpful comments for improving this document.
+
+Contributors
+
+ Clarence Filsfils
+ Cisco
+ Email: cfilsfil@cisco.com
+
+
+ Satoru Matsushima
+ SoftBank
+ Email: satoru.matsushima@g.softbank.co.jp
+
+
+ Dirk Steinberg
+ Steinberg Consulting
+ Email: dirk@lapishills.com
+
+
+ Daniel Bernier
+ Bell Canada
+ Email: daniel.bernier@bell.ca
+
+
+ Daniel Voyer
+ Bell Canada
+ Email: daniel.voyer@bell.ca
+
+
+ Jonn Leddy
+ Individual
+ Email: john@leddy.net
+
+
+ Swadesh Agrawal
+ Cisco
+ Email: swaagraw@cisco.com
+
+
+ Patrice Brissette
+ Cisco
+ Email: pbrisset@cisco.com
+
+
+ Ali Sajassi
+ Cisco
+ Email: sajassi@cisco.com
+
+
+ Bart Peirens
+ Proximus
+ Belgium
+ Email: bart.peirens@proximus.com
+
+
+ Darren Dukes
+ Cisco
+ Email: ddukes@cisco.com
+
+
+ Pablo Camarilo
+ Cisco
+ Email: pcamaril@cisco.com
+
+
+ Shyam Sethuram
+ Cisco
+ Email: shyam.ioml@gmail.com
+
+
+ Zafar Ali
+ Cisco
+ Email: zali@cisco.com
+
+
+Authors' Addresses
+
+ Gaurav Dawra (editor)
+ LinkedIn
+ United States of America
+ Email: gdawra.ietf@gmail.com
+
+
+ Ketan Talaulikar (editor)
+ Cisco Systems
+ India
+ Email: ketant.ietf@gmail.com
+
+
+ Robert Raszuk
+ NTT Network Innovations
+ 940 Stewart Dr.
+ Sunnyvale, CA 94085
+ United States of America
+ Email: robert@raszuk.net
+
+
+ Bruno Decraene
+ Orange
+ France
+ Email: bruno.decraene@orange.com
+
+
+ Shunwan Zhuang
+ Huawei Technologies
+ China
+ Email: zhuangshunwan@huawei.com
+
+
+ Jorge Rabadan
+ Nokia
+ United States of America
+ Email: jorge.rabadan@nokia.com