SRv6 nodes perform the following roles:
A node plays a role based on the task it takes in SRv6 packet forwarding, and it may play two or more roles. For example, it can be the source node on one SRv6 path and a transit or endpoint node on another SRv6 path.
On the network shown in Figure 1, the SRv6 source node encapsulates packets into SRv6 packets, the transit node processes and forwards the packets as common IPv6 packets, and the endpoint nodes process SRv6 SIDs and SRHs in the packets.
Behaviors performed by endpoint nodes are determined by instructions specified by SIDs. Such instructions include data packet forwarding, encapsulation, and decapsulation. They are called End series instructions because they are executed by SRv6 endpoints.
For details about common instructions, see SRv6 Segments.
An SRv6 source node steers packets into an SRv6 TE Policy and, if possible, encapsulates SRHs into the packets. Table 1 describes the behaviors of an SRv6 source node.
Behavior |
Description |
---|---|
H.Insert |
Inserts an SRH into a received IP packet and forwards the packet by searching the IPv6 routing table. |
H.Insert.Red |
Inserts a reduced SRH into a received IP packet and forwards the packet by searching the IPv6 routing table. |
H.Encaps |
Encapsulates an outer IPv6 header and an SRH for a received IP packet and forwards the packet by searching the IPv6 routing table. |
H.Encaps.Red |
Encapsulates an outer IPv6 header and a reduced SRH for a received IP packet and forwards the packet by searching the IPv6 routing table. |
H.Encaps.L2 |
Encapsulates an outer IPv6 header and an SRH for a received Layer 2 packet and forwards the packet by searching the IPv6 routing table. |
H.Encaps.L2.Red |
Encapsulates an outer IPv6 header and a reduced SRH for a received Layer 2 packet and forwards the packet by searching the IPv6 routing table. |
An SRH consumes a large number of bits. During SRH encapsulation, the SRv6 source node encapsulates the first SID to be processed into the destination address (DA) field of the IPv6 header. Therefore, the first SID in the SRH is meaningless for forwarding. To reduce the SRH size, the SRv6 source node can encapsulate a reduced SRH that does not contain the first SID to be processed. If an SRH contains only one SID, the SRH does not need to be encapsulated, as defined by relevant standards.
Flavors are behaviors defined to enhance the End series instructions. They are supplements to endpoint and transit node behaviors. Flavors are optional and will change the End series instructions once used, meeting diverse service requirements. Table 2 lists the common flavors and their functions.
Flavor |
Function Description |
---|---|
Penultimate segment pop of the SRH (PSP) |
Removes the SRH on the penultimate segment. As a function similar to penultimate hop popping (PHP) in MPLS, it improves forwarding efficiency. |
Ultimate segment pop of the SRH (USP) |
Removes the SRH on the ultimate segment. |
USD |
Ultimate segment decapsulation (USD). This function pops the outer IPv6 header on the last segment. The USD flavor is often used in SRv6 TE Policy scenarios without service SIDs, such as a scenario where IPv4 public network services without End.DT4 SIDs are redirected to an SRv6 TE Policy. When the packets of such services are forwarded to the device identified by the last SID and the SID carries the USD flavor, the device can properly decapsulate the packets. |