The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the behavior of Segment Routing Traffic Engineer(SR-TE) static and dynamic policy when a router sets the Overload (OL) bit.
Cisco recommends that you have basic knowledge of:
Figure 1 Network Topology
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
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
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 .
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.
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
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
When the Overload Bit is set on PE2 , P2 or P1 the policy is down and the path is invalidated.
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.
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
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 .
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
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: ?/?
Note: When the Overload bit is set on PE3 , the SRV6 SRTE policy remain up and valid.
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.
Revision | Publish Date | Comments |
---|---|---|
1.0 |
19-May-2025 |
Initial Release |