One of the functions can be used part of SRv6 address is End.DT4. End.DT4 profides L3VPN service over SRv6 data plane for the customers who use IPv4 address space. End.DT4 function provides FIB lookup in a specific tenant table (VRF) at the egress PE. This would be equivalent to the per-VRF VPN label in MPLS.
When a Node receives a packet destined to one of its local SID which is End.DT4 SID,
Rule
IF NH=SRH and SL > 0 drop the packet ELSE IF ENH = 4 pop the (outer) IPv6 header and its extension headers lookup the exposed inner IPv4 DA in related VRF forward via the matched table entry ELSE drop the packet
The End.DT4 SID must always be the last SID, or it can be the Destination Address of an IPv6 packet with no SRH header. And Next Header 4 refers to IPv4 encapsulation as defined by IANA. (41 for IPv6 encasulation in case of using L3VPN service for IPv6 clients with End.DT6 function)
Topology
According to topology;
We have one customer and they have 2 sites; C1 and C2 are customer routers. Default cost of the links is 10 and the shortest path from A1 to A6 is A1-A2-A4-A6. I will not go through the all VRF design and BGP signaling for VPN but we can assume that there is VRFs are already configured, BGP peering is done between A1 and A6 and VPN routes are imported into BGP.
On A6, there are 2 local SID and they have End and End.DT4 function. Both of the SIDs have the same Locator. Although there is no restriction but let’s assume /64 is the locator. (2981:40:A6::/64) And this locator is distributed into IGP.
Packets from C1 are sent to their next hop with a source address of 10.1.1.1 and destination address of 10.2.1.1. They will be forward through SRv6 data plane according to SR policy.
SR Policy on A1
SR Encapsulation Source Address: 2981:40:A1::1 Next SID: 2981:40:A6::4:1 Behavior: Encapsulation
In this case, we are using best effort path, that’s why SRv6 tunneling without SRH will be enough.
Packets will be sent through the path with the locator. (We already assumed that locator is part of our IGP) After packets arrived to the A6, A6 will use following entries;
Node A6 Local SID Table
Address: 2981:40:A6::4:1 Behavior: End.DT4 Table: VRF Table of C2
In this example, SRH is not used, because our SR policy was already working with best effort.