RFC 9252 - BGP Overlay Services Based on SRv6¶
| Field | Value |
|---|---|
| Title | BGP Overlay Services Based on Segment Routing over IPv6 (SRv6) |
| Authors | G. Dawra, et al. |
| Date | July 2022 |
| Status | Proposed Standard |
| Link | datatracker.ietf.org/doc/rfc9252 |
Summary¶
Defines how BGP carries SRv6 SID information for L3VPN (VPNv4/VPNv6) and L2VPN (EVPN) overlay services, using the SRv6 Services TLVs in BGP updates.
Key Concepts¶
- SRv6 L3 Service TLV in BGP prefix-SID attribute
- Transposition of SID function into the IPv6 prefix
- Works with existing BGP VPN address families
- Enables MPLS-free VPN services
Key Sections¶
| Section | Topic | Description |
|---|---|---|
| 3 | SRv6 Services TLVs | Defines the SRv6 L3 Service TLV and SRv6 L2 Service TLV carried in the BGP Prefix-SID attribute |
| 3.1 | SRv6 SID Information Sub-TLV | Carries the SRv6 SID value, SID behavior, and SID structure |
| 3.2 | SRv6 SID Structure Sub-Sub-TLV | Describes Locator Block, Locator Node, Function, and Argument bit lengths within the SID |
| 4 | Encoding for L3VPN | How VPNv4 and VPNv6 NLRI are encoded with SRv6 SIDs using the SRv6 L3 Service TLV |
| 4.1 | Transposition | Mechanism to embed the SRv6 Function value into the IPv6 prefix NLRI to save BGP update space |
| 5 | Encoding for EVPN | How EVPN routes carry SRv6 SIDs for L2VPN and L3VPN-over-EVPN services |
| 6 | Color Extended Community | Used in conjunction with SR Policy (RFC 9256) to steer VPN traffic into specific SRv6 TE paths |
| 7 | Security Considerations | Trust model for SRv6 VPN SID advertisements |
SRv6 Service TLVs Detail¶
The BGP Prefix-SID attribute carries service-specific TLVs:
| TLV | Type Value | Used By | Content |
|---|---|---|---|
| SRv6 L3 Service TLV | 5 | VPNv4, VPNv6 | Contains one or more SRv6 SID Information sub-TLVs for L3VPN |
| SRv6 L2 Service TLV | 6 | EVPN | Contains SRv6 SID Information sub-TLVs for L2VPN/EVPN |
| SRv6 SID Information Sub-TLV | 1 | Both | Carries: SRv6 SID (16 bytes), SID Flags, Endpoint Behavior |
| SRv6 SID Structure Sub-Sub-TLV | 1 | Both | Locator Block Length, Locator Node Length, Function Length, Argument Length, Transposition Length, Transposition Offset |
Transposition Mechanism¶
Transposition is an optimization that avoids carrying the full 128-bit SID in the BGP update by embedding the Function portion into the advertised IPv6 prefix:
Without Transposition:
NLRI = IPv6 VPN prefix
SRv6 SID = Full 128-bit SID in TLV
With Transposition:
NLRI = IPv6 VPN prefix with Function bits embedded
SRv6 SID = SID with Function bits zeroed (receiver reconstructs)
Reconstruction: Take Transposition Length bits starting at
Transposition Offset from the NLRI, insert them into the SID
The receiver extracts the transposed bits from the NLRI and inserts them into the SID at the specified offset to reconstruct the full SID.
Common Pitfalls
Transposition bit handling. The Transposition Length and Transposition Offset fields must be set consistently between the SRv6 SID Structure sub-sub-TLV and the NLRI encoding. If the Function Length, Transposition Length, and Transposition Offset do not align, the receiving PE will reconstruct an incorrect SID. This is one of the most common interoperability issues in multi-vendor SRv6 VPN deployments.
SID Structure signaling is mandatory. The SRv6 SID Structure sub-sub-TLV must be present when transposition is used. Without it, the receiving PE cannot determine how to reconstruct the SID from the NLRI. Some early implementations omitted this, leading to black-holed VPN traffic.
Endpoint Behavior must match the VPN type. The Endpoint Behavior field in the SID Information sub-TLV (e.g., End.DT4, End.DT6, End.DX2) must correspond to the actual programmed behavior on the egress PE. A mismatch causes the egress PE to reject the SID or misprocess the packet.
Color Extended Community is separate from the SRv6 SID. The Color Extended Community is used to steer traffic into SR Policies (RFC 9256). It does not replace or modify the SRv6 VPN SID -- it works alongside it for traffic engineering.
Related Drafts & Updates¶
| Document | Relationship | Description |
|---|---|---|
| RFC 9819 | Updates RFC 9252 | Specifies argument signaling for End.DT2M ESI filtering (replaces the bitwise-OR of Section 6.3); transposition rules unchanged |
| RFC 9723 | Builds on | Colored Prefix Routing: intent-aware inter-AS steering of RFC 9252 service SIDs |
| RFC 9800 | Extension | Compressed SID (C-SID) support changes how SID Structure is signaled |
| RFC 8986 | Defines behaviors | End.DT4, End.DT6, End.DX4, etc. behaviors referenced by this RFC |
| draft-ietf-bess-srv6-services-ext | Extension | Additional SRv6 service extensions for BGP |
Related¶
- VPN Services
- RFC 8986 - SRv6 behaviors used by VPNs