Segment Routing over IPv6 (SRv6)

How IPv6 segment endpoints process instructions carried as IPv6 addresses.

An IPv6 SID identifies a behavior

An SRv6 segment identifier is an IPv6 address associated with an endpoint behavior. A locator prefix makes the SID routable to an endpoint, which interprets the SID and performs the configured behavior.

For example, an End SID processes the packet at the endpoint and can advance it to the next segment. An End.X SID also directs forwarding over a specified Layer 3 adjacency. Ordinary IPv6 transit routers can forward toward the active destination without performing the endpoint behavior.

The active segment is the IPv6 destination

A packet carrying a list of segments can use an IPv6 Segment Routing Header (SRH). The current segment appears in the IPv6 destination field. At an endpoint that advances the list, the endpoint decrements Segments Left and sets the IPv6 destination to the next active SID.

SR-MPLS represents the instructions with MPLS labels. SRv6 uses IPv6 addresses and endpoint behaviors. The transport and forwarding capabilities required for the two data planes are different.

Try it in a lab

  1. On SRv6-capable lab routers, advertise reachable locators and configure a policy through two segment endpoints. Verify that the ingress can resolve the first active SID.
  2. Capture the IPv6 packet before and after the first endpoint. Compare the destination address and Segments Left to verify that the next SID became active.
  3. Use an End.X behavior at a waypoint and check that the resulting packet follows the configured adjacency.

Sources