If you work in service provider networking, the question is no longer whether your network will move from MPLS to SRv6 – it is when. By early 2026, over 85,000 Cisco routers are running SRv6 uSID in production across more than 60 operators worldwide. Swisscom, Rakuten Mobile, Softbank, and Jio Platforms have either completed or are actively executing their SRv6 uSID migrations. This is not a lab curiosity anymore. It is the dominant transport transformation in the SP space.

In this article, we will break down what SRv6 uSID actually is, why it matters, how to configure it on Cisco IOS XR, and how to execute a lossless migration from legacy MPLS or SR-MPLS to SRv6 uSID F3216. Whether you are a working SP engineer planning a migration or a CCIE Service Provider candidate preparing for your lab, this is knowledge you need. For a broader comparison of Segment Routing and MPLS TE from a CCIE SP perspective, see our Segment Routing vs MPLS TE guide.

What Is SRv6 uSID and Why Should You Care?

SRv6 (Segment Routing over IPv6) encodes forwarding instructions directly into IPv6 addresses. Each Segment Identifier (SID) is a 128-bit IPv6 address, and a list of SIDs in the IPv6 Segment Routing Header (SRH) describes the packet’s path through the network.

The problem with early SRv6 implementations was overhead. A full 128-bit SID per hop adds up fast – four waypoints meant 64 bytes of SRH, which created MTU headaches in real networks. If you are coming from an MPLS background, our BGP RPKI Route Origin Validation guide covers another critical BGP security layer that applies equally to SRv6-based transport.

SRv6 micro-SIDs (uSIDs) solve this by compressing multiple segment instructions into a single 128-bit IPv6 address, called a uSID Carrier. The dominant production format is F3216:

  • 32-bit uSID Block – identifies the SRv6 domain
  • 16-bit uSID IDs – identifies specific nodes or functions

A single uSID carrier encodes up to 6 micro-SIDs, which means you can describe 18 source-routing waypoints in only 40 bytes of overhead. That is comparable to or better than an MPLS label stack for the same path complexity.

Pro Tip: When planning your SRv6 addressing scheme, choose your 32-bit uSID block prefix carefully. This prefix identifies your entire SRv6 domain, and changing it later requires touching every node. Treat it like your BGP AS number – pick it once, document it everywhere.

SR-MPLS vs. SRv6 uSID: Key Differences

AttributeSR-MPLSSRv6 uSID (F3216)
EncodingMPLS label stackIPv6 SRH with compressed uSIDs
Path descriptionLabel per hop (4 bytes each)Up to 6 waypoints per 16-byte carrier
Data planeMPLS forwardingNative IPv6 forwarding
ProgrammabilityLimited to label operationsFull IPv6 extension header programmability
Network slicingComplex, requires dedicated LSPsNative support via FlexAlgo + uSID

The programmability advantage is significant. With SRv6, you can define custom behaviors (called SRv6 functions) at each segment endpoint. This enables capabilities like service chaining, VPN overlay binding, and traffic engineering that would require multiple protocol interactions in MPLS.

Configuring SRv6 uSID on Cisco IOS XR

Let us walk through a complete SRv6 uSID deployment on a Cisco 8000 Series router running IOS XR. This configuration establishes SRv6 locators, integrates them with IS-IS, and enables BGP/EVPN overlays.

Step 1: Define SRv6 Locators

The locator is the foundation of your SRv6 configuration. It defines the prefix that the router will use to generate its local SIDs:

segment-routing srv6
 encapsulation
  source-address fcbb:bb00:0001::1
 !
 locators
  locator myuSID
   micro-segment behavior unode psp-usd
   prefix fcbb:bb00:0001::/48
  !
 !
!

Key points about this configuration:

  • The source-address is the IPv6 address used as the outer source in SRv6-encapsulated packets. It must be reachable in your IGP.
  • The micro-segment behavior unode psp-usd enables the F3216 uSID format with Penultimate Segment Pop (PSP) and Ultimate Segment Decapsulation (USD) behaviors.
  • The /48 prefix defines the locator block. The first 32 bits (fcbb:bb00) are the uSID block, and bits 33-48 (0001) are this node’s uSID ID.

Pro Tip: Always use psp-usd as your default uSID behavior unless you have a specific reason not to. PSP removes the SRH at the penultimate hop, reducing processing overhead on the endpoint node. USD handles decapsulation cleanly when this node is the final destination. This combination covers the vast majority of production use cases.

Step 2: Integrate with IS-IS

IS-IS advertises SRv6 locator reachability across the network. Every router in the domain learns where each locator lives, which is how the data plane is built:

router isis CORE
 is-type level-2-only
 net 49.0001.0000.0000.0001.00
 address-family ipv6 unicast
  metric-style wide
  segment-routing srv6
   locator myuSID
  !
 !
 interface Loopback0
  address-family ipv6 unicast
  !
 !
 interface HundredGigE0/0/0/0
  point-to-point
  address-family ipv6 unicast
  !
 !
!

When this configuration is applied, the router advertises its /48 locator prefix into IS-IS. Other routers install this as a route in their IPv6 RIB, enabling SRv6 forwarding.

Step 3: Enable BGP and EVPN Overlays

For L3VPN and EVPN services, bind the uSID locator to BGP:

router bgp 65001
 address-family vpnv4 unicast
 !
 address-family vpnv6 unicast
 !
 address-family l2vpn evpn
 !
 segment-routing srv6
  locator myuSID
 !
 neighbor 2001:db8::2
  remote-as 65001
  update-source Loopback0
  address-family vpnv4 unicast
  !
  address-family l2vpn evpn
  !
 !
!

evpn
 segment-routing srv6
  locator myuSID
 !
!

With this configuration, BGP will allocate SRv6 uSIDs for VPN prefixes and advertise them to PE peers. The receiving PE uses the uSID to forward encapsulated traffic directly over the IPv6 underlay – no LDP, no RSVP, no separate MPLS signaling stack.

Migration Strategy: Ship in the Night

The most critical question for any production network is: how do we get from MPLS to SRv6 without dropping traffic?

Cisco’s recommended approach is the Ship in the Night method, which runs both forwarding planes simultaneously during the transition. The migration proceeds through three states:

State 1: Initial (Legacy MPLS or SR-MPLS Format1)

Your network is running traditional MPLS with LDP/RSVP, or SR-MPLS with format1 SIDs. All services (L3VPN, L2VPN, EVPN) use MPLS transport. No SRv6 configuration exists yet.

State 2: In-Migration (Dual Mode)

You deploy SRv6 uSID locators alongside the existing MPLS configuration. Both forwarding planes coexist:

  • The existing MPLS/SR-MPLS control plane continues to signal labels and forward traffic
  • SRv6 uSID locators are advertised in IS-IS concurrently
  • BGP and EVPN are configured with uSID locators on all PE nodes
  • Traffic can flow over either transport depending on which SIDs the ingress PE selects

This is the critical phase. You must enable overlay F3216 locators under BGP and EVPN on all PE nodes before cutting over any services. The network runs both planes in parallel, and you can validate SRv6 forwarding path by path before committing.

State 3: End State (SRv6 uSID Only)

Once all services are verified on SRv6 uSID transport, you remove the legacy MPLS configuration. The underlay and overlay operate exclusively on F3216 uSIDs.

Pro Tip: Use the delayed-delete command when removing format1 locators during the final cutover. This prevents traffic loss by keeping the old SIDs active in the forwarding table for a configurable period while the new F3216 SIDs take over. A 60-second delay is usually sufficient for BGP to reconverge, but validate in your lab first.

Migration Caveats

There are several operational details that can trip you up:

  • Line card reloads are required during hardware profile transitions on some platforms. Plan maintenance windows accordingly.
  • The Cisco 8000 Series (K100, A100 ASICs) and 8700-MOD platforms support dual-mode operation natively. Verify your specific hardware before starting.
  • If you are running a mixed-vendor network, check IETF draft draft-ietf-spring-srv6-mpls-interworking for SRv6-MPLS gateway interworking standards. Cisco 8000 routers support L3 Service Interworking Gateways for domains that cannot migrate simultaneously.

Verification and Troubleshooting

After deploying SRv6 uSID, systematic verification is essential. Here are the commands and checks you need.

Verify SRv6 Locator Status

RP/0/RP0/CPU0:PE1# show segment-routing srv6 locator

Name          Prefix                    Status
----          ------                    ------
myuSID        fcbb:bb00:0001::/48       Up

If the status shows Down, check that:

  1. The prefix is not conflicting with another locator on the same node
  2. IS-IS is configured to advertise the locator
  3. The platform supports the specified uSID behavior

Verify IS-IS SRv6 Advertisement

RP/0/RP0/CPU0:PE1# show isis segment-routing srv6 locators detail

IS-IS CORE Level-2 SRv6 Locators:

  Locator: myuSID
    Prefix: fcbb:bb00:0001::/48
    Topology: IPv6 Unicast
    Algorithm: 0
    Metric: 1
    Advertised: Yes

Verify BGP SRv6 SID Allocation

RP/0/RP0/CPU0:PE1# show bgp vpnv4 unicast vrf CUSTOMER-A 10.1.1.0/24

BGP routing table entry for 10.1.1.0/24, Route Distinguisher: 65001:100
  Local
    fcbb:bb00:0001:: (via SRv6 SID: fcbb:bb00:0001:e004::)
    Origin IGP, metric 0, localpref 100, valid, sourced, best
    SRv6 SID: fcbb:bb00:0001:e004::
      Function: End.DT4
      Locator: myuSID

The End.DT4 function indicates a decapsulation-and-lookup behavior for IPv4 VPN traffic. This is the SRv6 equivalent of a VPN label in MPLS.

Common Troubleshooting Scenarios

Problem: SRv6 locator is Up but BGP is not allocating SIDs. Check: Ensure segment-routing srv6 locator myuSID is configured under router bgp and under evpn. Both are required for full service coverage.

Problem: Traffic is blackholing after enabling uSID locators. Check: Verify that all transit routers have IS-IS SRv6 locator routes in their IPv6 RIB. A single router without the locator route will drop SRv6-encapsulated packets.

Problem: MTU issues after migration. Check: SRv6 encapsulation adds a minimum of 40 bytes (IPv6 outer header) plus SRH overhead. Ensure your core links support at least 9216-byte MTU. Most SP networks already run jumbo frames, but verify edge-facing interfaces as well.

Key Takeaways

  1. SRv6 uSID is production-ready at scale. With 85,000+ routers deployed globally, this is not early-adopter technology. If your network still runs legacy MPLS, you are increasingly in the minority among Tier 1 operators.

  2. The F3216 format solves the MTU problem. Six micro-SIDs per 128-bit carrier means SRv6 overhead is comparable to MPLS label stacks, removing the biggest historical objection to SRv6.

  3. Ship in the Night enables lossless migration. You do not need a forklift upgrade. Run both planes in parallel, validate per-service, and cut over at your own pace.

  4. Configuration is straightforward. Three building blocks – locators, IS-IS integration, and BGP/EVPN binding – cover the vast majority of deployment scenarios.

  5. The CCIE SP track expects this knowledge. With Cisco’s 2026 certification refresh emphasizing automation and modern transport, understanding SRv6 is no longer optional for expert-level candidates. The CCIE Automation track now explicitly covers programmable network transport as a core competency. SP engineers holding CCIE certifications are commanding premium salaries — our CCIE SP salary analysis for 2026 breaks down the numbers.

  6. Open-source support is growing. FRRouting 10.5 now supports SRv6 uSID, meaning this technology extends beyond Cisco-only shops to SONiC and other FRR-based platforms.

The MPLS-to-SRv6 migration is the defining infrastructure shift for service providers in 2026. Start with a lab, validate with Ship in the Night, and build your operational confidence before touching production. The technology is ready. The question is whether you are.

Frequently Asked Questions

What is SRv6 uSID and how is it different from regular SRv6?

SRv6 uSID (micro-SID) compresses multiple segment instructions into a single 128-bit IPv6 address using the F3216 format. A single uSID carrier encodes up to 6 waypoints, reducing overhead to levels comparable with MPLS label stacks — solving the MTU problem that plagued early SRv6 implementations.

Can I run MPLS and SRv6 simultaneously during migration?

Yes. Cisco’s recommended Ship in the Night method runs both forwarding planes in parallel. You deploy SRv6 uSID locators alongside existing MPLS configuration, validate per-service, and cut over at your own pace with zero traffic loss.

What Cisco platforms support SRv6 uSID in production?

The Cisco 8000 Series (K100 and A100 ASICs) and 8700-MOD platforms natively support SRv6 uSID with dual-mode operation. Over 85,000 Cisco routers are running SRv6 uSID in production across 60+ operators worldwide as of early 2026.

What MTU should I configure for SRv6 uSID?

SRv6 encapsulation adds a minimum of 40 bytes (IPv6 outer header) plus SRH overhead. Core links should support at least 9216-byte MTU. Most SP networks already run jumbo frames, but verify edge-facing interfaces as well.

Is SRv6 covered on the CCIE Service Provider lab exam?

Yes. Cisco’s 2026 certification refresh emphasizes modern transport technologies. SRv6 and Segment Routing are core topics for CCIE SP candidates, alongside traditional MPLS knowledge for migration scenarios.


Start Your CCIE Journey →