Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

SRv6 Flow Label entropy via source address

Want to summarize with AI?

Log in

Explains how Flow Label entropy encoded in the IPv6 source address improves SRv6 load balancing and describes its operation, deployment guidelines, limitations, and configuration.


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

  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
  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
  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
        ...