Contents

Introduction

Prerequisites

Requirements

Components Used

Network Topology

Network Design

Static SR TE Policy Behavior

Condition 1 - Segment Identifier(SID) list is Composed of Only SIDs (Label Values)

Configuration

Verification

Observation

Explanation

Condition 2 -SID list is Composed of Both SIDs and SID Descriptors (Example IP Address)

Configuration

Verification

Observation

Explanation

Conditions to Invalidate SID-List

Dynamic SR TE Policy Behavior

Configuration

Observation

SRV6 SRTE Static Policy Behavior

Configuration

Verification

Observation

Conclusion

Commands

Introduction

This document describes the behavior of Segment Routing Traffic Engineer(SR-TE) static and dynamic policy when a router sets the Overload (OL) bit.

Prerequisites

Requirements

Cisco recommends that you have basic knowledge of:

- Multiprotocol Label Switching (MPLS).

- Intermediate System to Intermediate System (ISIS)

- Segment Routing Traffic Engineer(SR-TE)

- Segment Routing over IPv6 (SRV6)

Components Used

- The information in this document is based on Device: Aggregation Services Router 9000 (ASR9K).

- The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Network Topology

Figure 1 Network Topology

Network Design

- Single ISIS domain with both IPV4 and IPV6 address families enabled

- Topology-Independent Loop-Free Alternate (TI-LFA) with SR Micro loop Avoidance(MLA) is configured

- Segment Routing Global Block(SRGB) : 16000- 24000

Static SR TE Policy Behavior

Condition 1 - Segment Identifier(SID) list is Composed of Only SIDs (Label Values)

Configuration

segment-routing

traffic-eng

segment-list PE1-to-PE3

index 10 mpls label 16002 >>>>>>>>>> P2

index 20 mpls label 16022 >>>>>>>>>> PE2

index 30 mpls label 16033>>>>>>>>>>>PE3

!

policy Policy-PE1-to-PE3

binding-sid mpls 1000

color 1000 end-point ipv4 10.10.33.33

candidate-paths

preference 100

explicit segment-list PE1-to-PE3

Figure 2 : Path taken by the policy Policy-PE1-to-PE3

Verification

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#show segment-routing traffic-eng policy color 1000 detail

SR-TE policy database

---------------------

Color: 1000, End-point: 10.10.33.33

Name: srte_c_1000_ep_10.10.33.33

Status:

Admin: up  Operational: up for 00:00:24 (since Apr 18 10:22:21.382)

Candidate-paths:

Preference: 100 (configuration) (active)

Name: Policy-PE1-to-PE3

Requested BSID: 1000

Protection Type: protected-preferred

Maximum SID Depth: 10

Explicit: segment-list PE1-to-PE3 (valid)

Weight: 1, Metric Type: TE

16002 [Prefix-SID, 10.10.2.2]

16022

16033

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#show isis database

Fri Apr 18 10:29:47.616 UTC

IS-IS core (Level-2) Link State Database

LSPID                   LSP Seq Num  LSP Checksum  LSP Holdtime/Rcvd  ATT/P/OL

ASR9910-4-P1-CE1.00-00   0x000015f7   0x7c3d        1195 /1200         0/0/0

ASR9906-2-P2-CE23.00-00  0x000015f2   0xa255        1188 /1200         0/0/1

ASR9906-1-PE1-PCC.00-00* 0x000015ee   0xa580        495  /*            0/0/0

ASR-9904-5-PE2-PCC.00-00 0x000015e6   0x47df        1086 /1200         0/0/1

ASR9910-3-PE3-PCC.00-00  0x000015e8   0x053e        966  /1200         0/0/1

Observation

When the Overload bit is Set On any of the routers in the path (Provider Router (P)2,Provider Edge Router (PE)2 and PE3), the presence of the overload bit set on any intermediate routers in the SR-TE path, or even on the tail-end router itself, does not impact the validation or installation of the Segment Routing Traffic Engineering (SR-TE) policy, provided that the first Segment Identifier (SID) in the explicit SID list can be successfully resolved to a forwarding interface .

Explanation

The Segment Identifiers (SIDs) are represented as MPLS label values. When a head-end router (PE1) receives an SR-TE policy ,typically from a Path Computation Element (PCE)—it does not validate the entire SID list. Instead, it only performs resolution and validation for the first SID in the segment list.

This design behavior is intentional and enables support for inter-domain SR-TE policies, where a single SR policy spans across multiple IGP domains. Since the head-end router lacks visibility into remote domains, a centralized PCE is responsible for performing the end-to-end path computation across these domains. The PCE returns a fully resolved label stack (SID list) to the Path Computation Client (PCC), which is typically the head-end router.

Upon receiving the policy, the head-end router installs it as long as the first SID can be resolved via local forwarding entries .It does not attempt to resolve or validate subsequent SIDs, as they pertain to remote domains outside its topology view. This same behaviour applies to the Static SID list configured manually on the Head end router where only the 1st SID of the SID list is validated and does not validate subsequent SIDs.

Condition 2 - SID list is Composed of Both SIDs and SID Descriptors (Example IP Address)

Configuration

segment-list PE3-to-PE1-4sids

index 1 mpls label 16022

index 2 mpls label 16002

index 3 mpls adjacency 10.10.21.1 >>>>>> SID descriptor

index 4 mpls label 16011

policy Policy-PE3-to-PE1-4sids

binding-sid mpls 3001

color 3001 end-point ipv4 10.10.11.11

candidate-paths

preference 100

explicit segment-list PE3-to-PE1-4sids

Figure 3 : Path taken by the policy Policy-PE3-to-PE1-4sids

Verification

RP/0/RSP0/CPU0:ASR9910-3-PE3-PCC#show segment-routing traffic-eng policy color 3001

SR-TE policy database

---------------------

Color: 3001, End-point: 10.10.11.11

Name: srte_c_3001_ep_10.10.11.11

Status:

Admin: up  Operational: up for 00:01:00 (since Apr 27 07:03:01.980)

Candidate-paths:

Preference: 100 (configuration) (active)

Name: Policy-PE3-to-PE1-4sids

Requested BSID: 3001

Constraints:

Protection Type: protected-preferred

Maximum SID Depth: 10

Explicit: segment-list PE3-to-PE1-4sids (valid)

Weight: 1, Metric Type: TE

16022 [Prefix-SID, 10.10.22.22]

16002 [Prefix-SID, 10.10.2.2]

24000 [Adjacency-SID, 10.10.21.2 - 10.10.21.1]

16011 [Prefix-SID, 10.10.11.11]

Attributes:

Binding SID: 3001

Forward Class: Not Configured

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: yes

Invalidation drop enabled: no

Max Install Standby Candidate Paths: 0

When the Overload Bit is Set On P1:

RP/0/RSP0/CPU0:ASR9910-3-PE3-PCC#show segment-routing traffic-eng policy color 3001

SR-TE policy database

---------------------

Color: 3001, End-point: 10.10.11.11

Name: srte_c_3001_ep_10.10.11.11

Status:

Admin: up  Operational: down for 00:00:02 (since Apr 27 07:06:24.845) >> policy is down

Candidate-paths:

Preference: 100 (configuration) (inactive)

Name: Policy-PE3-to-PE1-4sids

Requested BSID: 3001

Constraints:

Protection Type: protected-preferred

Maximum SID Depth: 10

Explicit: segment-list PE3-to-PE1-4sids (inactive) >>> path is inactive

Last error: IPv4 address follows an unresolved label: 10.10.21.1

Weight: 1, Metric Type: TE

16022

16002

16011

16011

Attributes:

Forward Class: 0

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: no

Invalidation drop enabled: no

Max Install Standby Candidate Paths: 0

Observation

When the Overload Bit is set on PE2 , P2 or P1 the policy is down and the path is invalidated.

Explanation

The head-end router attempts to resolve all specified SID descriptors. While the first SID is valid, the resolution of the SID descriptor for P1 fails because P1 has the overload bit set in its IGP LSP advertisement. This renders the corresponding adjacency SID unusable, resulting in a validation failure for that segment of the path.

As a consequence, even though partial resolution succeeded, the SR-TE policy as a whole fails validation due to the unresolvable adjacency SID for P1. This policy operational status is marked as down, and the associated explicit path is placed into an inactive state , preventing it from being used for traffic steering .

Note:

When the overload bit is set on the tail-end router (PE1), its SID is still part of the configured SID list but is removed from the enacpculated label stack during validation. As a result, the SR-TE policy remains up and valid since it meets the minimum requirements: the first SID resolves to an outgoing interface (for example ., HundredGigE0/1/0/2) and has a resolved SID descriptor. However, traffic does not reach PE1 as its label is not present in the forwarding stack. To ensure full end-to-end validation of a static SID list in SR-TE, use the SID descriptor of the final hop to validate the entire LSP path.

Conditions to Invalidate SID-List

- When it is empty.

- When the Head-end is unable to resolve the first SID into one or more outgoing interfaces or next-hops.

- When the head-end is unable to resolve any non-first SID that is expressed as a SID descriptor .

Dynamic SR TE Policy Behavior

Configuration

policy Dynamic-Policy-PE1-to-PE3

binding-sid mpls 1001

color 1001 end-point ipv4 10.10.33.33

candidate-paths

preference 100

dynamic

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#show segment-routing traffic-eng policy color 1001

SR-TE policy database

---------------------

Color: 1001, End-point: 10.10.33.33

Name: srte_c_1001_ep_10.10.33.33

Status:

Admin: up  Operational: up for 02:27:53 (since Apr 27 08:31:55.304)

Candidate-paths:

Preference: 100 (configuration) (active)

Name: Dynamic-Policy-PE1-to-PE3

Requested BSID: 1001

Protection Type: protected-preferred

Maximum SID Depth: 10

Dynamic (valid)

Metric Type: TE,   Path Accumulated Metric: 20

16033 [Prefix-SID, 10.10.33.33]

Attributes:

Binding SID: 1001

Forward Class: Not Configured

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: yes

Invalidation drop enabled: no

Traceroute of an SRTE policy provides the path taken by the policy which in this case is the IGP path:

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#traceroute sr-mpls policy name srte_c_1001_ep_10.10.33.33 lsp-end-point 10.10.33.33

Type escape sequence to abort.

0 10.10.112.11 MRU 1500 [Labels: 16033 Exp: 0] >>>>>>>>>>>>>>>>>>>>>>>>> PE1

L 1 10.10.112.1 MRU 1500 [Labels: explicit-null Exp: 0] 13 ms >>>>>>>>>>>>>P1

! 2 10.10.31.33 6 ms>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>PE3

Figure 4 : Path taken by the policy Dynamic-Policy-PE1-to-PE3

When Overload bit is set on P1:

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#traceroute sr-mpls policy binding-sid 1001 lsp-end-point  10.10.33.33

Type escape sequence to abort.

0 10.10.212.11 MRU 1500 [Labels: 16033 Exp: 0]>>>>>>>>>>>>>>>>>>>>>>>>>> PE1

L 1 10.10.212.2 MRU 1500 [Labels: 16033 Exp: 0] 10 ms>>>>>>>>>>>>>>>>>>>>>>P2

L 2 10.10.223.22 MRU 1500 [Labels: explicit-null Exp: 0] 5 ms>>>>>>>>>>>>>>>PE2

! 3 10.10.123.33 4 ms>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PE3

The path taken by the SRTE policy bypass the P1 router .

Figure 5 : Path taken by the policy Dynamic-Policy-PE1-to-PE3 when P1 one is bypassed as the OL bit is set on P1

When Overload Bit is set on PE3:

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#show isis database

ASR9910-3-PE3-PCC.00-00  0x000019c6   0x3d24        1195 /1200         0/0/1

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#show segment-routing traffic-eng policy color 1001

Color: 1001, End-point: 10.10.33.33

Name: srte_c_1001_ep_10.10.33.33

Status:

Admin: up  Operational: up for 02:27:53 (since Apr 27 08:31:55.304)

Candidate-paths:

Preference: 100 (configuration) (active)

Name: Dynamic-Policy-PE1-to-PE3

Requested BSID: 1001

Protection Type: protected-preferred

Maximum SID Depth: 10

Dynamic (valid)

Metric Type: TE,   Path Accumulated Metric: 20

16033 [Prefix-SID, 10.10.33.33]

Attributes:

Binding SID: 1001

Forward Class: Not Configured

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: yes

Invalidation drop enabled: no

RP/0/RSP1/CPU0:ASR9906-1-PE1-PCC#traceroute sr-mpls policy name srte_c_1001_ep_10.10.33.33 lsp-end-point 10.10.33.33

Type escape sequence to abort.

0 10.10.112.11 MRU 1500 [Labels: 16033 Exp: 0] >>>>>>>>>>>>>>>>>> PE1

L 1 10.10.112.1 MRU 1500 [Labels: explicit-null Exp: 0] 8 ms>>>>>>> P1

! 2 10.10.31.33 4 ms>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PE3

Observation

Here, even when the OL bit is sent on PE3 the SID is obtained for PE3 and the traffic is routed to its destination router PE3 .

SRV6 SRTE Static Policy Behavior

Configuration

segment-routing

traffic-eng

segment-lists

srv6

sid-format usid-f3216

topology-check>>>>>>>>>>>>>>> command is required for srv6 SID list validation

!

segment-list srv6-PE2-to-PE3

srv6

index 10 sid ce00:1:2::

index 20 sid ce00:1:11::

index 30 sid ce00:1:1::

!

!

!

policy SRV6Policy-PE2-toPE3

srv6

locator corelocator binding-sid dynamic behavior ub6-insert-reduced

!

color 2000 end-point ipv6 ce00:1:33::

candidate-paths

preference 100

explicit segment-list srv6-PE2-to-PE3

RP/0/RSP1/CPU0:ASR-9904-5-PE2-PCC#show segment-routing traffic-eng policy name  srte_c_2000_ep_ce00:1:33::

SR-TE policy database

---------------------

Color: 2000, End-point: ce00:1:33::

Name: srte_c_2000_ep_ce00:1:33::

Status:

Admin: up  Operational: up for 00:30:35 (since Apr 27 08:31:30.516)

Candidate-paths:

Preference: 100 (configuration) (active)

Name: SRV6Policy-PE2-toPE3

Requested BSID: dynamic

Constraints:

Protection Type: protected-preferred

Maximum SID Depth: 13

Explicit: segment-list srv6-PE2-to-PE3 (valid)

Weight: 1, Metric Type: TE

SID[0]: ce00:1:2::/48

Format: f3216

LBL:32 LNL:16 FL:0 AL:80

SID[1]: ce00:1:11::/48

Format: f3216

LBL:32 LNL:16 FL:0 AL:80

SID[2]: ce00:1:1::/48

Format: f3216

LBL:32 LNL:16 FL:0 AL:80

SRv6 Information:

Locator: corelocator

Binding SID requested: Dynamic

Binding SID behavior: uB6 (Insert.Red)

Attributes:

Binding SID: ce00:1:22:e004::

Forward Class: Not Configured

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: yes

Invalidation drop enabled: no

Max Install Standby Candidate Paths: 0

RP/0/RSP1/CPU0:ASR-9904-5-PE2-PCC#show segment-routing traffic-eng forwarding policy name  srte_c_2000_ep_ce00:1:33::

SR-TE Policy Forwarding database

--------------------------------

Color: 2000, End-point: ce00:1:33::

Name: srte_c_2000_ep_ce00:1:33::

Binding SID: ce00:1:22:e004::

Active LSP:

Candidate path:

Preference: 100 (configuration)

Name: SRV6Policy-PE2-toPE3

Segment lists:

SL[0]:

Name: srv6-PE2-to-PE3

SL ID: 0xf

Switched Packets/Bytes: ?/?

Paths:

Path[0]:

Outgoing Interfaces: HundredGigE0/1/0/7

Next Hop: fe80::bee7:12ff:fea3:b70c

FRR Pure Backup: No

ECMP/LFA Backup: No

SID stack (Top -> Bottom): {ce00:1:2::/48, ce00:1:11::/48, ce00:1:1::/48}

Path[1]: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> backup SRV6 path

Outgoing Interfaces: HundredGigE0/1/0/0

Next Hop: fe80::bee7:12ff:fea3:b874

FRR Pure Backup: Yes

ECMP/LFA Backup: Yes

SID stack (Top -> Bottom): {ce00:1:1::/48, ce00:1:2::/48, ce00:1:11::/48,

ce00:1:1::/48}

Figure 6 : Path taken by the policy SRV6Policy-PE2-toPE3 static SID-List

Verification

When PE1 is overloaded:

RP/0/RSP1/CPU0:ASR-9904-5-PE2-PCC#show segment-routing traffic-eng policy name  srte_c_2000_ep_ce00:1:33::

SR-TE policy database

---------------------

Color: 2000, End-point: ce00:1:33::

Name: srte_c_2000_ep_ce00:1:33::

Status:

Admin: up  Operational: down for 00:00:06 (since Apr 27 09:08:32.012)

Candidate-paths:

Preference: 100 (configuration) (inactive)

Name: SRV6Policy-PE2-toPE3

Last error: SRv6 SIDs failed verification

Requested BSID: dynamic

Constraints:

Protection Type: protected-preferred

Maximum SID Depth: 13

Explicit: segment-list srv6-PE2-to-PE3 (inactive)

Last error: Topology check failed for SID: ce00:1:11::

Weight: 1, Metric Type: TE

SID[0]: ce00:1:2::/48

SID[1]: ce00:1:11::/48

SID[2]: ce00:1:1::/48

SRv6 Information:

Locator: corelocator

Binding SID requested: Dynamic

Binding SID behavior: uB6 (Insert.Red)

Attributes:

Forward Class: 0

Steering labeled-services disabled: no

Steering BGP disabled: no

IPv6 caps enable: yes

Invalidation drop enabled: no

Max Install Standby Candidate Paths: 0

RP/0/RSP1/CPU0:ASR-9904-5-PE2-PCC#show segment-routing traffic-eng forwarding policy name  srte_c_2000_ep_ce00:1:33::

Sun Apr 27 09:08:49.239 UTC

SR-TE Policy Forwarding database

--------------------------------

Color: 2000, End-point: ce00:1:33::

Name: srte_c_2000_ep_ce00:1:33::

Policy Packets/Bytes Switched: ?/?

Observation

- When the routers Overload bit is set on the routers (P2 ,PE1 or P1 )

- In SRV6, when any of the router in the SID list (P2 ,PE1 or P1 ) is overloaded the SRV6 TE is down and path is invalidated and the last error indicates SRV6 SID of the router which is not reachable

Note: When the Overload bit is set on PE3 , the SRV6 SRTE policy remain up and valid.

Conclusion

This document outlines the validation behaviour of Segment Routing Traffic Engineering (SR-TE) paths, emphasizing how policies are installed and evaluated based on SID resolution criteria. It highlights that only the first SID in the SID list is strictly validated by the head-end router, enabling flexibility in inter-domain or constrained visibility scenarios. Understanding these validation mechanics is critical during network maintenance windows, as operators can leverage this behavior to pre-install SR-TE policies that do not transit overloaded or under-maintenance nodes while maintaining forwarding continuity across the network.

Commands

- show segment-routing traffic-eng policy name <>

- show segment-routing traffic-eng forwarding policy name <>

- show segment-routing traffic-eng ipv4 topology isis hostname <> private