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-TE Policy

Want to summarize with AI?

Log in

Explains how candidate paths, segment lists, constraints, metrics, and protection requirements determine the path selected by an SRv6-TE policy.


An SRv6-TE policy is a traffic engineering mechanism that

  • defines specific end-to-end paths using lists of micro-segment IDs (uSIDs)

  • enables you to steer packets along chosen routes instead of default IGP paths, and

  • is uniquely identified by its head-end, color, and end-point attributes.

Components of SRv6-TE policy

An SRv6-TE policy is uniquely identified by an ordered list of three components:

  • Head-end: The node where the SRv6-TE policy is instantiated.

  • Color: A numerical value that distinguishes between multiple policies configured for the same node pair (Head-end and End-point). Every policy between the same node pairs requires a unique color value.

  • End-point: The destination of the SRv6-TE policy.

Every SRv6-TE policy has a color value. Every policy between the same node pairs requires a unique color value. An SRv6-TE policy uses one or more candidate paths.

Each SRv6-TE policy utilizes one or more candidate paths. A candidate path can consist of a single SID-list or a set of weighted SID-lists for Weighted Equal-Cost Multi-Path (WECMP). A SID list can be dynamically computed by a Path Computation Element (PCE) or explicitly configured by a user. For more information, see SRv6-TE Policy Path Types.

Candidate paths

The candidate path is a category of routing path that

  • consists of a single segment list or a set of weighted SID-lists

  • serves as one of the multiple possible routes within an SR Policy, and

  • enables load sharing and failover by allowing traffic to be distributed or switched among the SID-lists.

Characteristics of candidate path

A candidate path has these characteristics:

  • It has a preference – If two policies have same {color, endpoint} but different preferences, the policy with the highest preference is selected.

  • It is associated with a single Binding SID (uB6) – A uB6 SID conflict occurs when there are different SRv6 policies with the same uB6 SID. In this case, the policy that is installed first gets the uB6 SID and is selected.

  • It is valid if it is usable.

A path is selected when the path is valid and its preference is the best among all candidate paths for that policy. The protocol of the source is not relevant in the path selection logic.

Types of candidate path

An SR Policy manages multiple candidate paths, but only one candidate path is selected and installed in the RIB/FIB as the active path at any time. Candidate paths can be dynamic (computed) or explicit (manually specified), providing flexibility for traffic engineering and network resilience.


Configure SRv6-TE candidate Paths with weighted SID lists

Use this procedure to define SRv6-TE policies that utilize multiple segment lists with assigned weights for weighted load balancing.

Procedure

  1. Set the SRv6 SID format and define the first SRv6 segment list.

    Example:

    
    Router(config)# segment-routing traffic-eng 
    Router(config-sr-te)# segment-lists
    Router(config-sr-te-segment-lists)# srv6
    Router(config-sr-te-sl-global-srv6)# sid-format usid-f3216 
    Router(config-sr-te-sl-global-srv6)# exit
    Router(config-sr-te-segment-lists)# segment-list p1_r8_3
    
    Router(config-sr-te-sl)# srv6
    Router(config-sr-te-sl-srv6)# index 10 sid FCBB:BB00:10:fe01::
    Router(config-sr-te-sl-srv6)# index 20 sid FCBB:BB00:1::
    Router(config-sr-te-sl-srv6)# index 30 sid FCBB:BB00:1:fe00::
    Router(config-sr-te-sl-srv6)# index 40 sid FCBB:BB00:fe00::
    Router(config-sr-te-sl-srv6)# index 50 sid FCBB:BB00:5::
    Router(config-sr-te-sl-srv6)# index 60 sid FCBB:BB00:6::
    Router(config-sr-te-segment-lists)# segment-list igp_ucmp1
    
    Router(config-sr-te-sl)# srv6
    Router(config-sr-te-sl-srv6)# index 10 sid FCBB:BB00:1::
    Router(config-sr-te-sl-srv6)# index 20 sid FCBB:BB00:4::
    Router(config-sr-te-sl-srv6)# index 30 sid FCBB:BB00:5::
    Router(config-sr-te-sl-srv6)# exit
    Router(config-sr-te-sl)# exit
    Router(config-sr-te-segment-lists)# exit
    
    
  2. Configure the SRv6-TE policy with candidate paths and weighted SID lists.

    Example:

    Router(config-sr-te)# policy po_r8_1001
    Router(config-sr-te-policy)# srv6 locator loc1 binding-sid dynamic behavior ub6-encaps-reduced
    Router(config-sr-te-policy)# color 1001 end-point ipv6 FCBB:BB00:2::1
    Router(config-sr-te-policy)# candidate-paths
    Router(config-sr-te-policy-path)# preference 1000
    Router(config-sr-te-policy-path-pref)# explicit segment-list p1_r8_3
    Router(config-sr-te-pp-info)# weight 4
    Router(config-sr-te-pp-info)# exit
    Router(config-sr-te-policy-path-pref)# explicit segment-list igp_ucmp1
    Router(config-sr-te-pp-info)# weight 2
    Router(config-sr-te-pp-info)# exit
    
    
  3. Verify the configuration with show running configuration.

    Example:

    Router# show running-config 
    
    . . .
    
    segment-routing
     traffic-eng
      segment-lists
       srv6
        sid-format usid-f3216
       !
       segment-list p1_r8_3
        srv6
         index 10 sid FCBB:BB00:10:fe01::
         index 20 sid FCBB:BB00:1::
         index 30 sid FCBB:BB00:1:fe00::
         index 40 sid FCBB:BB00:fe00::
         index 50 sid FCBB:BB00:5::
         index 60 sid FCBB:BB00:6::
        !     
       !
       segment-list igp_ucmp1
        srv6
         index 10 sid FCBB:BB00:1::
         index 20 sid FCBB:BB00:4::
         index 30 sid FCBB:BB00:5::
        !
       !
      !
      policy po_r8_1001
       srv6
        locator loc1 binding-sid dynamic behavior ub6-encaps-reduced
       !
       color 1001 end-point ipv6 fcbb:bb00:2::1
       candidate-paths
        preference 1000
         explicit segment-list p1_r8_3
          weight 4
         !
         explicit segment-list igp_ucmp1
          weight 2
         !
        !     
       !
      !
     !
    !