Optimize SRv6 uSID Load Balancing

This chapter explains how SRv6 locators enable traffic steering by defining IPv6 address spaces used to allocate and identify SRv6 SIDs within the network. It describes locator types such as base format, uSID, and Anycast locators, their usage guidelines and limitations, and the configuration steps required to enable locator-based forwarding. The chapter also covers how SRv6 uSID load balancing can be improved by encoding Flow Label entropy into the IPv6 source address during encapsulation, helping ensure consistent ECMP distribution even when intermediate nodes do not use the IPv6 Flow Label for hashing.

SRv6 Flow Label entropy via source address

SRv6 Flow Label entropy via source address is a core segment routing feature that

  • enables consistent end-to-end load balancing in networks when intermediate nodes are unable to utilize the standard IPv6 Flow Label for hash calculations

  • serves as a critical workaround for service providers and cloud-based deployments, and

  • provides flexible configuration options allowing for platform-specific optimization.

Table 1. Feature History Table

Feature Name

Release

Description

SRv6 Flow Label entropy via source address

Release 26.2.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100, K100], 8010 [ASIC: A100]); Centralized Systems (8400 [ASIC: K100]); Modular Systems (8800 [LC ASIC: P100])

You can now improve SRv6 load balancing by encoding entropy from the IPv6 Flow Label into the IPv6 source address during SRv6 encapsulation. The ingress node generates a flow-aware source address. This allows downstream devices to use standard IP-based hashing for consistent ECMP load balancing. With this feature, devices use the modified source address for hashing so effective end-to-end load balancing occurs, even when the flow label is not considered.

Previously, SRv6 relied on Flow Label–based entropy for load balancing. Some backbone nodes, especially in cloud environments ignore the Flow Label. This causes traffic polarization and inefficient bandwidth utilization.

The feature introduces these changes:

CLI:

  • The add-entropy flow-label position keyword is introduced in the srv6 encapsulation command.

SRv6 entropy encoding in IPv6 source address

In an SRv6 network, the Flow Label in the IPv6 header provides built-in entropy and enables efficient per-flow load balancing. the core nodes use this entropy to perform hashing without accessing all flows arriving at the PE.

Some IPv6 backbone nodes, especially in cloud environments do not use the Flow Label for load balancing, which disrupts end-to-end traffic distribution. To address this, the encapsulating node encodes entropy into the IPv6 source address during SRv6 H.Encaps. It generates a flow-aware source address by combining the Flow Label with the original source address, enabling all network devices to use standard IP-based hashing and ensures consistent load balancing across the network.

Benefits of Flow Label entropy via source address

SRv6 Flow Label entropy using source address includes the listed benefits.

  • Ensures effective ECMP distribution across all network segments, including cloud underlays that ignore the Flow Label.

  • Prevents traffic polarization and maximizes use of available bandwidth.

  • Enables reliable SRv6 deployments over public cloud infrastructures.

  • Eliminates reliance on intermediate nodes supporting Flow Label-based hashing.

  • Reduces congestion and improves overall application and service reliability.

Usage guidelines of Flow Label entropy via source address

These guidelines and limitations apply when you configure Flow Label entropy via source address:

  • This feature supports both SRv6 full-length SID and micro-SIDs.

  • The Flow Label uses a fixed size of 16 bits.

  • The feature does not support offset or size selection for flexible entropy encoding.

  • Use the right-justified mode for Flow Label positioning.

  • Only one source address (explicit or locator-derived) can be configured at a time.

  • If you configure an invalid source address or if the locator is down, the feature programs a null source address. It does not revert to the default source address.

How SRv6 Flow Label entropy via source address works

Summary

Embedding SRv6 Flow Label entropy into the IPv6 source address allows core network nodes to leverage source address diversity for effective load balancing, even when Flow Label–based entropy is not available.

Key components of the process include:

  • Ingress PE device: Receives the original packet and prepares it for SRv6 encapsulation.

  • Hardware hash function: Calculates the entropy value (Flow Label) based on packet headers.

  • Core node: Performs load-balancing decisions using the entropy in the modified source address.

  • Egress PE: Removes the SRv6 header and delivers the original payload.

Workflow

These stages describe how SRv6 Flow Label entropy via source address works:

  1. The ingress PE receives the data packet.
  2. The hardware computes a hash from the packet headers and generates the Flow Label.
  3. The PE applies the SRv6 H.Encaps operation and adds the SRv6 header.
  4. The ingress PE uses the configured add-entropy parameters to encode Flow Label bits into the IPv6 source address at the required offset.
  5. The ingress PE forwards the packet into the core network. The core nodes use the modified source address to perform load-balancing hashes.
  6. The egress PE terminates the SRv6 header and forwards the original payload to the destination.

Configure Flow Label entropy via source address

The configuration enables the router to use a specified locator as the source address. It injects Flow Label bits into this address to enhance load balancing performance in the network.

Follow these steps to configure SRv6 Flow Label entropy via source address.

Before you begin

Ensure that the SRv6 locator is configured and operational.

Procedure


Step 1

Run the segment-routing srv6 encapsulation command to configure the encapsulation parameters for SRv6 traffic.

Example:

Router(config)#segment-routing 
Router(config-sr)#srv6
Router(config-srv6)#encapsulation

Step 2

Configure the router to encode Flow Label–based entropy into the IPv6 source address using a locator.

  • Relative-offset positioning.

    Use this mode to embed Flow Label entropy at the specified offset within the base source address.

    The example configuration uses locator0 as the base source address and embeds Flow Label entropy at a 16-bit offset to improve load balancing.

    Router(config-srv6-encap)#source-address locator locator0 add-entropy flow-label position relative-offset 16
    Router(config-srv6-encap)#commit
  • Right-justified positioning.

    Use this mode to place the Flow Label entropy at the rightmost end of the IPv6 source address.

    The example configuration uses locator0 as the base source address.

    Router(config-srv6-encap)#source-address locator locator0 add-entropy flow-label position right-justified
    Router(config-srv6-encap)#commit

Step 3

Enter these show commands to verify that Flow Label–based entropy is encoded in the IPv6 source address.

Example:

Router#show segment-routing srv6 manager 
Output received:
Sat Jan 17 03:53:03.738 EST
Parameters:
  SRv6 Enabled: Yes
  SRv6 Operational Mode: 
    Micro-segment:
      SID Base Block: fccc:cc00::/24
  Encapsulation:
    Source Address:
      Default: 1::1
      Configured: fccc:cc00:1::
        Mode: Locator-Address with Add-Entropy
          Locator: 'locator0' (is up)
          Flow-label: Size 20 bits, Position relative-offset 16 bits
    Hop-Limit: Default 
    Traffic-class: Propagate
  SID Formats:
    f3216 <32B/16NFA> (2)
      uSID LIB Range:
        LIB Start   : 0xe000
        ELIB Start  : 0xfe00
      uSID WLIB Range:
        EWLIB Start : 0xfff7
Router#show cef ipv6 glbl segment-routing srv6 
    SRv6 Enabled
    ...
    Encap:
      SA: fccc:cc00:1::
        Add-Entropy Flowlabel: size 20 bits, offset Position relative-offset 16 bits
      Hop-Limit: Default
      Traffic-Class: Default
    ...