SRv6 Segment
The Locator part provides the location function. In general, each locator value must be unique in an SR domain. However, in certain scenarios, such as the scenario where anycast protection is configured, multiple devices may be configured with the same locator value. After a locator value is configured for a node, the system generates a locator route and propagates the route in the SR domain through an IGP, allowing other nodes to locate the node based on the route information received. In addition, all SRv6 SIDs advertised by the node can be reached through the route.
The Function part identifies an instruction bound to the node that generates the SRv6 SID.
In addition to the Locator and Function parts, an SRv6 SID can also include the Arguments part. If this is the case, the SRv6 SID is expressed in the Locator:Function:Arguments format. The Arguments part occupies the least significant bits of the IPv6 address and can be used to define packet flow and service information. Currently, an important application is to use arguments to implement split horizon for broadcast, unknown-unicast, and multicast (BUM) traffic forwarding in an EVPN VPLS scenario where CE multi-homing is deployed. For details about the application, see the Split Horizon part in the subsequent EVPN VPLS over SRv6 BE chapter.
The Function and Arguments parts can both be defined, resulting in an SRv6 SID structure that improves network programmability.
Local SID Table
- Defines locally generated SIDs, such as End.X SIDs.
- Specifies instructions bound to the SIDs.
- Stores forwarding information related to the instructions, such as outbound interface and next hop information.
There are a wide range of SRv6 SIDs associated with different functions.
End SID
An End SID is an endpoint SID that identifies a destination node. It is similar to a node SID in SR-MPLS.
After an End SID is generated on a node, the node propagates the SID to all other nodes in the SRv6 domain through an IGP. All nodes in the SRv6 domain know how to implement the instruction bound to the SID.
End.X SID
An End.X SID is a Layer 3 cross-connect endpoint SID that identifies a link. It is similar to an adjacency SID in SR-MPLS.
After an End.X SID is generated on a node, the node propagates the SID to all the other nodes in the SRv6 domain through an IGP. Although the other nodes can all obtain the SID, only the node generating the SID knows how to implement the instruction bound to the SID.
End.DT4 SID
An End.DT4 SID is a provider edge (PE)-specific endpoint SID that identifies an IPv4 VPN instance. The instruction bound to the End.DT4 SID is to decapsulate packets and search the routing table of an IPv4 VPN instance for packet forwarding. The End.DT4 SID is equivalent to an IPv4 VPN label and used in L3VPNv4 scenarios. It can also be used to identify a public network instance.
End.DT6 SID
An End.DT6 SID is a PE-specific endpoint SID that identifies an IPv6 VPN instance. The instruction bound to the End.DT6 SID is to decapsulate packets and search the routing table of an IPv6 VPN instance for packet forwarding. The End.DT6 SID is equivalent to an IPv6 VPN label and used in L3VPNv6 scenarios.
End.DX4 SID
An End.DX4 SID is a PE-specific Layer 3 cross-connect endpoint SID that identifies an IPv4 CE. The instruction bound to the End.DX4 SID is to decapsulate packets and forward the decapsulated IPv4 packets over the Layer 3 interface bound to the SID. The End.DX4 SID is equivalent to a label identifying a CE-connected adjacency and used in L3VPNv4 scenarios.
End.DX6 SID
An End.DX6 SID is a PE-specific Layer 3 cross-connect endpoint SID that identifies an IPv6 CE. The instruction bound to the End.DX6 SID is to decapsulate packets and forward the decapsulated IPv6 packets over the Layer 3 interface bound to the SID. The End.DX6 SID is equivalent to a label identifying a CE-connected adjacency and used in L3VPNv6 scenarios.
End.DX2 and End.DX2L SIDs
An End.DX2 SID is a Layer 2 cross-connect endpoint SID that identifies an endpoint. The instruction bound to the End.DX2 SID is to pop the IPv6 header and extension headers and then forward the remaining packet content to the outbound interface bound to the SID. The End.DX2 SID can be used in EVPN VPWS scenarios.
If a bypass tunnel exists on the network, an End.DX2L SID is generated automatically.
End.DT2U and End.DT2UL SIDs
An End.DT2U SID is a Layer 2 cross-connect endpoint SID to which unicast MAC table lookup is bound. It also identifies an endpoint. The instruction bound to the End.DT2U SID is to pop the IPv6 header and extension headers, search the MAC address table based on the exposed destination MAC address, and then forward the remaining packet content to the outbound interface bound to the SID. The End.DT2U SID can be used in EVPN VPLS unicast scenarios.
If a bypass tunnel exists on the network, an End.DT2UL SID is generated automatically. The SID can be used to send unicast traffic over the bypass tunnel when a CE is dual-homed to PEs.
End.DT2M SID
An End.DT2M SID is a Layer 2 cross-connect endpoint SID to which broadcast-based flooding is bound. It also identifies an endpoint. The instruction bound to the End.DT2M SID is to pop the IPv6 header and extension headers and then broadcast the remaining packet content in the bridge domain (BD). The End.DT2M SID is used in EVPN VPLS BUM scenarios.
End.OP SID
An End.OP SID (OAM endpoint with punt) is an OAM SID that specifies the punt behavior to be implemented for OAM packets in ping and tracert scenarios. On the network shown in Figure 3-14, if ingress node A attempts to ping the End.X SID A4:4::45 between nodes D and E through the End.X SID A2:2::23, node D needs to process and respond to the ICMPv6 Echo Request packet sent by node A. When constructing the ping packet, node A needs to insert the End.OP SID A4:4::1 of node D into the packet. After receiving the packet, node D finds that the destination address of the packet is its own End.OP SID. Then, node D checks whether A4:4::45 is its local SID. If yes, node D returns a ping success packet. If not, node D reports an error indicating that the SID is not its local SID.