Segment Routing (SR) can be applied on both MPLS and IPv6 data planes. In a SR-MPLS enabled network, an MPLS label is used
as the Segment Identifier (SID) and the source router chooses a path to the destination and encodes the path in the packet
header as a stack of labels. In a Segment Routing over IPv6 (SRv6) network, the IPv6 address serves as the SID. The source
router encodes the path to destination as an ordered list of segments (list of IPv6 addresses) in the IPv6 packet. To encode
an ordered list of IPv6 addresses in an IPv6 packet, a new routing header which is an extension header is used. This new header
for SRv6 is called Segment Routing Header (SRH). In an SRv6 enabled network, the active segment is indicated by the destination
address of the packet, and the next segment is indicated by a pointer in the SRH.
SRv6 works on IPv6 data forwarding and is suitable for all data center deployments. SRv6 with SRH facilitates traffic engineering
and path protection capabilities. Minus the SRH, SRv6 also supports traffic forwarding for multi-tenants with only the IPv6
packet header. In this case, the IPv6 destination address (128-bit) represents the reachability (locator) and the VPN function.
The forwarding methodology is such that if the destination address is within the locator prefix space is not in the SID table,
it checks the standard routing table for a match.
Beginning Cisco NX-OS Release 9.3(3), Cisco Nexus 9300-GX series switches support SRv6 functionality as follows:
processing of packets with SRHs at line rate
BGP, OSPFv3, and IS-IS protocols
L3VPN over SRv6 for both, IPv4 and IPv6 VPN prefixes
global IPv4 and IPv6 (Internet) over SRv6
The following functions are supported in Cisco NX-Release 9.3(3):