Skip to content

Segment Routing

Segment Routing (SR) replaces traditional MPLS LDP signaling with a source-routed forwarding paradigm where the ingress router encodes the full path as an ordered list of segment identifiers. The Segment Routing Global Block (SRGB) and Local Block (SRLB) reserve label ranges in the Label Switching Database for prefix-SIDs and local segments such as adjacency-SIDs and binding-SIDs. The mapping server advertises prefix-to-SID mappings via IGP, enabling SR-capable nodes to interwork with LDP nodes in brownfield deployments. SRv6 with Micro-SID (uSID) extends this model over IPv6 by encoding up to six segment instructions within a single 128-bit SID carrier, minimizing MTU overhead while preserving full network programmability.

Diagram
NameTypeConstraintMandatoryDefault Value
segment_routingClass[segment_routing]No

segment_routing (iosxr.devices.configuration)

Section titled “segment_routing (iosxr.devices.configuration)”
NameTypeConstraintMandatoryDefault Value
enableBooleantrue, falseNo
global_block_fromIntegermin: 16000, max: 1048574No
global_block_toIntegermin: 16001, max: 1048575No
local_block_fromIntegermin: 15000, max: 1048574No
local_block_toIntegermin: 15001, max: 1048575No
mapping_serverList[mapping_server]No
srv6Class[srv6]No
traffic_engineeringClass[traffic_engineering]No

mapping_server (iosxr.devices.configuration.segment_routing)

Section titled “mapping_server (iosxr.devices.configuration.segment_routing)”
NameTypeConstraintMandatoryDefault Value
address_familyChoiceipv4, ipv6Yes
prefix_sid_mapsList[prefix_sid_maps]No

srv6 (iosxr.devices.configuration.segment_routing)

Section titled “srv6 (iosxr.devices.configuration.segment_routing)”
NameTypeConstraintMandatoryDefault Value
enableBooleantrue, falseNo
encapsulationClass[encapsulation]No
formatsList[formats]No
locatorsList[locators]No
logging_locator_statusBooleantrue, falseNo
sid_holdtimeIntegermin: 0, max: 60No

traffic_engineering (iosxr.devices.configuration.segment_routing)

Section titled “traffic_engineering (iosxr.devices.configuration.segment_routing)”
NameTypeConstraintMandatoryDefault Value
affinity_mapsList[affinity_maps]No
bfd_session_bringupIntegermin: 10, max: 3600No
binding_sidsClass[binding_sids]No
candidate_pathsList[candidate_paths]No
cspf_cache_sizeIntegermin: 100, max: 100000No
distribute_link_stateClass[distribute_link_state]No
effective_metricClass[effective_metric]No
interfacesList[interfaces]No
kshortest_pathsIntegermin: 1, max: 200No
loggingClass[logging]No
max_install_standby_pathsIntegermin: 1, max: 3No
maximum_sid_depthIntegermin: 1, max: 255No
path_disable_algo_checksClass[path_disable_algo_checks]No
pccClass[pcc]No
resource_listsList[resource_lists]No
segment_listsClass[segment_lists]No
separate_next_hopBooleantrue, falseNo
srv6Class[srv6]No
steeringClass[steering]No
te_latencyBooleantrue, falseNo
timersClass[timers]No
on_demandList[on_demand]No
policiesList[policies]No
tracesList[traces]No

prefix_sid_maps (iosxr.devices.configuration.segment_routing.mapping_server)

Section titled “prefix_sid_maps (iosxr.devices.configuration.segment_routing.mapping_server)”
NameTypeConstraintMandatoryDefault Value
prefixIPYes
lengthIntegermin: 1, max: 128Yes
sid_indexIntegermin: 0, max: 1048575Yes
rangeIntegermin: 0, max: 65535No
attachedBooleantrue, falseNo

encapsulation (iosxr.devices.configuration.segment_routing.srv6)

Section titled “encapsulation (iosxr.devices.configuration.segment_routing.srv6)”
NameTypeConstraintMandatoryDefault Value
hop_limitAnyInteger[min: 0, max: 255] or Choice[propagate, propagate-disable] or String[Regex: ^.*[\$\%]\{.*$]No
source_addressIPNo
traffic_classAnyInteger[min: 0, max: 255] or Choice[propagate, propagate-disable] or String[Regex: ^.*[\$\%]\{.*$]No

formats (iosxr.devices.configuration.segment_routing.srv6)

Section titled “formats (iosxr.devices.configuration.segment_routing.srv6)”
NameTypeConstraintMandatoryDefault Value
nameChoiceusid-f3216Yes
usid_local_id_block_explicit_fromIntegermin: 57344, max: 57344No
usid_local_id_block_explicit_toIntegermin: 57444, max: 65279No
usid_wide_local_id_block_startIntegermin: 65520, max: 65527No

locators (iosxr.devices.configuration.segment_routing.srv6)

Section titled “locators (iosxr.devices.configuration.segment_routing.srv6)”
NameTypeConstraintMandatoryDefault Value
algorithmIntegermin: 128, max: 255No
anycastBooleantrue, falseNo
lengthIntegermin: 32, max: 112No
micro_segment_behavior_unodeChoicepsp-usd, shift-onlyNo
nameStringYes
prefixIPNo

affinity_maps (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “affinity_maps (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
bit_positionIntegermin: 0, max: 255Yes

binding_sids (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “binding_sids (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
dynamicChoicedisableNo
explicitChoiceenforce-srlb, fallback-dynamicNo

candidate_paths (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “candidate_paths (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
typeChoiceall, bgp-odn, bgp-srte, local, pcepYes
source_addressStringYes

Section titled “distribute_link_state (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
enableBooleantrue, falseNo
report_candidate_path_inactiveBooleantrue, falseNo
throttleIntegermin: 1, max: 20No

effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
admin_distancesList[admin_distances]No
flex_algosList[flex_algos]No

interfaces (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “interfaces (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
affinitiesList[affinities]No
metricIntegermin: 0, max: 2147483647No

logging (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “logging (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
pcep_peer_statusBooleantrue, falseNo
policy_statusBooleantrue, falseNo

path_disable_algo_checks (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “path_disable_algo_checks (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
strict_spfClass[strict_spf]No

pcc (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “pcc (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
dead_timerIntegermin: 1, max: 255No
delegation_timeoutIntegermin: 0, max: 1576800000No
initiated_orphanIntegermin: 0, max: 180No
initiated_stateIntegermin: 0, max: 86400No
keepalive_timerIntegermin: 0, max: 255No
pcesList[pces]No
profilesList[profiles]No
redundancyChoicepcc_centric, pce_centricNo
report_allBooleantrue, falseNo
source_address_ipv4StringNo
source_address_ipv6StringNo

resource_lists (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “resource_lists (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
entriesList[entries]No

segment_lists (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “segment_lists (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
mplsClass[mpls]No
srv6Class[srv6]No

srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
behaviorChoiceub6-encaps-reduced, ub6-insert-reducedNo
binding_sid_typeChoicesrv6-dynamicNo
locatorStringNo
maximum_sid_depthIntegermin: 1, max: 255No

steering (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “steering (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
labeled_servicesClass[labeled_services]No

timers (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “timers (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
candidate_path_cleanup_delayIntegermin: 0, max: 86400No
cleanup_delayIntegermin: 0, max: 300No
delete_delayIntegermin: 0, max: 3600No
initial_verify_restartIntegermin: 10, max: 10000No
initial_verify_startupIntegermin: 10, max: 10000No
initial_verify_switchoverIntegermin: 10, max: 10000No
install_delayIntegermin: 0, max: 300No
periodic_reoptimizationIntegermin: 0, max: 86400No

on_demand (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “on_demand (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
bandwidthIntegermin: 1, max: 4294967295No
bfdClass[bfd]No
colorIntegermin: 1, max: 4294967295Yes
constraintsClass[constraints]No
dynamicClass[dynamic]No
effective_metricClass[effective_metric]No
max_install_standby_pathsIntegermin: 0, max: 3No
maximum_sid_depthIntegermin: 1, max: 255No
pce_groupStringNo
per_flowClass[per_flow]No
performance_measurementClass[performance_measurement]No
source_addressIPNo
srv6Class[srv6]No
steeringClass[steering]No

policies (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “policies (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
auto_routeClass[auto_route]No
bandwidthIntegermin: 1, max: 4294967295No
bfdClass[bfd]No
binding_sid_mpls_labelIntegermin: 16, max: 1048575No
binding_sid_typeChoicemplsNo
candidate_pathsList[candidate_paths]No
colorIntegermin: 1, max: 4294967295Yes
effective_metricClass[effective_metric]No
endpoint_addressIPNo
ipv6_disableBooleantrue, falseNo
max_install_standby_pathsIntegermin: 0, max: 3No
nameStringYes
path_protectionBooleantrue, falseNo
pce_groupStringNo
performance_measurementClass[performance_measurement]No
shutdownBooleantrue, falseNo
source_addressIPNo
srv6Class[srv6]No
steeringClass[steering]No
transit_eligibleBooleantrue, falseNo

traces (iosxr.devices.configuration.segment_routing.traffic_engineering)

Section titled “traces (iosxr.devices.configuration.segment_routing.traffic_engineering)”
NameTypeConstraintMandatoryDefault Value
bufferChoiceagent, all, bsid, chkpt, common, error, fib, fs, gen-error, im, init, lmrib, lsd, p-cpath, p-lsp, p-state, pcep, pfp, policy, rib, srv-api, timer, treesid, treesid-chkptYes
countIntegermin: 0, max: 1000000Yes

admin_distances (iosxr.devices.configuration.segment_routing.traffic_engineering.effective_metric)

Section titled “admin_distances (iosxr.devices.configuration.segment_routing.traffic_engineering.effective_metric)”
NameTypeConstraintMandatoryDefault Value
typeChoiceunknown, hopcount, igp, latency, teYes
distanceIntegermin: 1, max: 255Yes

flex_algos (iosxr.devices.configuration.segment_routing.traffic_engineering.effective_metric)

Section titled “flex_algos (iosxr.devices.configuration.segment_routing.traffic_engineering.effective_metric)”
NameTypeConstraintMandatoryDefault Value
typeAnyChoice[igp, latency, te, bandwidth] or Integer[min: 0, max: 255] or String[Regex: ^.*[\$\%]\{.*$]Yes
distanceIntegermin: 1, max: 255Yes

affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.interfaces)

Section titled “affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.interfaces)”
NameTypeConstraintMandatoryDefault Value
nameStringYes

strict_spf (iosxr.devices.configuration.segment_routing.traffic_engineering.path_disable_algo_checks)

Section titled “strict_spf (iosxr.devices.configuration.segment_routing.traffic_engineering.path_disable_algo_checks)”
NameTypeConstraintMandatoryDefault Value
all_areasBooleantrue, falseNo
areasList[areas]No

pces (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc)

Section titled “pces (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc)”
NameTypeConstraintMandatoryDefault Value
addressAnyIP or String or String[Regex: ^.*[\$\%]\{.*$]Yes
passwordStringNo
password_typeChoice7No
pce_groupStringNo
precedenceIntegermin: 0, max: 255No
tcp_ao_include_tcp_optionsBooleantrue, falseNo
tcp_ao_keychainStringNo

profiles (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc)

Section titled “profiles (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 1, max: 65534Yes
auto_routeClass[auto_route]No
steering_invalidation_dropBooleantrue, falseNo

entries (iosxr.devices.configuration.segment_routing.traffic_engineering.resource_lists)

Section titled “entries (iosxr.devices.configuration.segment_routing.traffic_engineering.resource_lists)”
NameTypeConstraintMandatoryDefault Value
indexIntegermin: 1, max: 65535Yes
addressStringNo
typeChoiceipv4-addressNo

mpls (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists)

Section titled “mpls (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists)”
NameTypeConstraintMandatoryDefault Value
explicit_segmentsList[explicit_segments]No

srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists)

Section titled “srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists)”
NameTypeConstraintMandatoryDefault Value
explicit_segmentsList[explicit_segments]No
sid_formatChoiceusid-f3216No
topology_checkBooleantrue, falseNo

labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.steering)

Section titled “labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.steering)”
NameTypeConstraintMandatoryDefault Value
disable_allBooleantrue, falseNo
disable_bgp_sr_teBooleantrue, falseNo
disable_localBooleantrue, falseNo
disable_on_demandBooleantrue, falseNo
disable_pcepBooleantrue, falseNo

bfd (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “bfd (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
enableBooleantrue, falseNo
invalidation_actionChoicedown, noneNo
logging_session_state_changeBooleantrue, falseNo
minimum_intervalIntegermin: 50, max: 30000No
multiplierIntegermin: 1, max: 10No
reverse_path_binding_labelIntegermin: 16, max: 1048575No

constraints (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “constraints (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
segmentsClass[segments]No

dynamic (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “dynamic (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
affinitiesList[affinities]No
anycast_sid_inclusionBooleantrue, falseNo
boundsList[bounds]No
disjoint_pathClass[disjoint_path]No
metric_marginIntegermin: 0, max: 2147483647No
metric_margin_typeChoiceabsolute, relativeNo
metric_typeChoicehopcount, igp, latency, teNo
pcepBooleantrue, falseNo

effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
typeChoicedefault, hopcount, igp, latency, teNo
valueIntegermin: 0, max: 4294967295No

per_flow (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “per_flow (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
default_classIntegermin: 0, max: 7No
enableBooleantrue, falseNo
forward_classesList[forward_classes]No

performance_measurement (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “performance_measurement (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
delayClass[delay]No
livenessClass[liveness]No
reverse_path_labelIntegermin: 16, max: 1048575No
reverse_path_segment_listStringNo

srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
behaviorChoiceub6-encaps-reduced, ub6-insert-reducedNo
locatorStringNo

steering (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)

Section titled “steering (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand)”
NameTypeConstraintMandatoryDefault Value
invalidation_dropBooleantrue, falseNo
labeled_servicesClass[labeled_services]No

auto_route (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “auto_route (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
force_sr_includeBooleantrue, falseNo
forward_classIntegermin: 0, max: 7No
include_all_ipv4Booleantrue, falseNo
include_all_ipv6Booleantrue, falseNo
include_prefixesList[include_prefixes]No
metricIntegermin: -10, max: 2147483647No
metric_typeChoiceconstant, relativeNo

bfd (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “bfd (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
disableBooleantrue, falseNo
enableBooleantrue, falseNo
invalidation_actionChoicedown, noneNo
logging_session_state_changeBooleantrue, falseNo
minimum_intervalIntegermin: 50, max: 30000No
multiplierIntegermin: 1, max: 10No
reverse_path_binding_labelIntegermin: 16, max: 1048575No

candidate_paths (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “candidate_paths (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
backup_ineligibleBooleantrue, falseNo
bidirectional_association_idIntegermin: 1, max: 65534No
bidirectional_coroutedBooleantrue, falseNo
constraintsClass[constraints]No
effective_metricClass[effective_metric]No
preferenceIntegermin: 1, max: 65535Yes
lock_durationIntegermin: 0, max: 3000No
pathsList[paths]No
pce_groupStringNo
per_flowClass[per_flow]No

effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
typeChoicehopcount, igp, latency, teNo
valueIntegermin: 0, max: 4294967295No

performance_measurement (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “performance_measurement (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
delayClass[delay]No
livenessClass[liveness]No
reverse_path_labelIntegermin: 16, max: 1048575No
reverse_path_segment_listStringNo

srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “srv6 (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
behaviorChoiceub6-encaps-reduced, ub6-insert-reducedNo
locatorStringNo

steering (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)

Section titled “steering (iosxr.devices.configuration.segment_routing.traffic_engineering.policies)”
NameTypeConstraintMandatoryDefault Value
invalidation_dropBooleantrue, falseNo
labeled_servicesClass[labeled_services]No

areas (iosxr.devices.configuration.segment_routing.traffic_engineering.path_disable_algo_checks.strict_spf)

Section titled “areas (iosxr.devices.configuration.segment_routing.traffic_engineering.path_disable_algo_checks.strict_spf)”
NameTypeConstraintMandatoryDefault Value
idIntegermin: 0, max: 4294967295Yes
protocolChoiceospfYes

auto_route (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc.profiles)

Section titled “auto_route (iosxr.devices.configuration.segment_routing.traffic_engineering.pcc.profiles)”
NameTypeConstraintMandatoryDefault Value
force_sr_includeBooleantrue, falseNo
forward_classIntegermin: 0, max: 7No
include_all_ipv4Booleantrue, falseNo
include_all_ipv6Booleantrue, falseNo
metricIntegermin: -10, max: 2147483647No
metric_typeChoiceconstant, relativeNo

explicit_segments (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.mpls)

Section titled “explicit_segments (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.mpls)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
entriesList[entries]No

explicit_segments (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.srv6)

Section titled “explicit_segments (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.srv6)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
entriesList[entries]No
topology_checkBooleantrue, falseNo

segments (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.constraints)

Section titled “segments (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.constraints)”
NameTypeConstraintMandatoryDefault Value
protection_typeChoiceprotected-only, protected-preferred, unprotected-only, unprotected-preferredNo
sid_algorithmIntegermin: 0, max: 255No

affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)

Section titled “affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)”
NameTypeConstraintMandatoryDefault Value
entriesList[entries]No
typeChoiceinclude-any, include-all, exclude-anyYes

bounds (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)

Section titled “bounds (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)”
NameTypeConstraintMandatoryDefault Value
scopeChoicecumulative, linkYes
typeChoicehopcount, igp, latency, teYes
metricIntegermin: 1, max: 4294967295Yes

disjoint_path (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)

Section titled “disjoint_path (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic)”
NameTypeConstraintMandatoryDefault Value
fallback_disableBooleantrue, falseNo
group_idIntegermin: 1, max: 65535No
shortest_pathBooleantrue, falseNo
sub_idIntegermin: 0, max: 65535No
typeChoicelink, node, srlg, srlg-nodeNo

forward_classes (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.per_flow)

Section titled “forward_classes (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.per_flow)”
NameTypeConstraintMandatoryDefault Value
colorIntegermin: 1, max: 4294967295Yes
idIntegermin: 0, max: 7Yes

delay (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.performance_measurement)

Section titled “delay (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.performance_measurement)”
NameTypeConstraintMandatoryDefault Value
logging_delay_exceededBooleantrue, falseNo
profileStringNo

liveness (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.performance_measurement)

Section titled “liveness (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.performance_measurement)”
NameTypeConstraintMandatoryDefault Value
backup_profileStringNo
invalidation_actionChoicedown, noneNo
logging_session_state_changeBooleantrue, falseNo
profileStringNo

labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.steering)

Section titled “labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.steering)”
NameTypeConstraintMandatoryDefault Value
disableBooleantrue, falseNo

include_prefixes (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.auto_route)

Section titled “include_prefixes (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.auto_route)”
NameTypeConstraintMandatoryDefault Value
addressIPYes
lengthIntegermin: 0, max: 32Yes
typeChoiceipv4Yes

constraints (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)

Section titled “constraints (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)”
NameTypeConstraintMandatoryDefault Value
affinitiesList[affinities]No
boundsList[bounds]No
disjoint_pathClass[disjoint_path]No
segmentsClass[segments]No

effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)

Section titled “effective_metric (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)”
NameTypeConstraintMandatoryDefault Value
typeChoicehopcount, igp, latency, teNo
valueIntegermin: 0, max: 4294967295No

paths (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)

Section titled “paths (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)”
NameTypeConstraintMandatoryDefault Value
anycast_sid_inclusionBooleantrue, falseNo
hop_typeChoicempls, srv6No
metric_marginIntegermin: 0, max: 2147483647No
metric_margin_typeChoiceabsolute, relativeNo
metric_sid_limitIntegermin: 1, max: 255No
metric_typeChoicehopcount, igp, latency, teNo
pcepBooleantrue, falseNo
reverse_path_segment_listStringNo
segment_listStringNo
typeChoicedynamic, explicitYes
weightIntegermin: 1, max: 4294967295No

per_flow (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)

Section titled “per_flow (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths)”
NameTypeConstraintMandatoryDefault Value
default_classIntegermin: 0, max: 7No
enableBooleantrue, falseNo
forward_classesList[forward_classes]No

delay (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.performance_measurement)

Section titled “delay (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.performance_measurement)”
NameTypeConstraintMandatoryDefault Value
logging_delay_exceededBooleantrue, falseNo
profileStringNo

liveness (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.performance_measurement)

Section titled “liveness (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.performance_measurement)”
NameTypeConstraintMandatoryDefault Value
backup_profileStringNo
invalidation_actionChoicedown, noneNo
logging_session_state_changeBooleantrue, falseNo
profileStringNo

labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.steering)

Section titled “labeled_services (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.steering)”
NameTypeConstraintMandatoryDefault Value
disableBooleantrue, falseNo

entries (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.mpls.explicit_segments)

Section titled “entries (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.mpls.explicit_segments)”
NameTypeConstraintMandatoryDefault Value
indexIntegermin: 1, max: 65535Yes
addressStringNo
interface_identifierIntegermin: 1, max: 65535No
labelIntegermin: 0, max: 1048575No
typeChoiceadjacency, labelNo

entries (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.srv6.explicit_segments)

Section titled “entries (iosxr.devices.configuration.segment_routing.traffic_engineering.segment_lists.srv6.explicit_segments)”
NameTypeConstraintMandatoryDefault Value
indexIntegermin: 1, max: 65535Yes
addressStringNo
typeChoicesrv6sidNo

entries (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic.affinities)

Section titled “entries (iosxr.devices.configuration.segment_routing.traffic_engineering.on_demand.dynamic.affinities)”
NameTypeConstraintMandatoryDefault Value
nameStringYes

affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)

Section titled “affinities (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)”
NameTypeConstraintMandatoryDefault Value
entriesList[entries]No
typeChoiceexclude-any, include-all, include-anyYes

bounds (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)

Section titled “bounds (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)”
NameTypeConstraintMandatoryDefault Value
scopeChoicecumulative, linkYes
typeChoicehopcount, igp, latency, teYes
metricIntegermin: 1, max: 4294967295Yes

disjoint_path (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)

Section titled “disjoint_path (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)”
NameTypeConstraintMandatoryDefault Value
fallback_disableBooleantrue, falseNo
group_idIntegermin: 1, max: 65535No
shortest_pathBooleantrue, falseNo
sub_idIntegermin: 0, max: 65535No
typeChoicelink, node, srlg, srlg-nodeNo

segments (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)

Section titled “segments (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints)”
NameTypeConstraintMandatoryDefault Value
adjacency_sid_onlyBooleantrue, falseNo
protection_typeChoiceprotected-only, protected-preferred, unprotected-only, unprotected-preferredNo
sid_algorithmIntegermin: 0, max: 255No

forward_classes (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.per_flow)

Section titled “forward_classes (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.per_flow)”
NameTypeConstraintMandatoryDefault Value
colorIntegermin: 1, max: 4294967295Yes
idIntegermin: 0, max: 7Yes

entries (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints.affinities)

Section titled “entries (iosxr.devices.configuration.segment_routing.traffic_engineering.policies.candidate_paths.constraints.affinities)”
NameTypeConstraintMandatoryDefault Value
nameStringYes

uSID Block Range Values

The uSID local ID block range fields accept both hexadecimal and integer values. YAML natively parses hex literals (e.g., 0xe000) to their integer equivalents.

  • usid_local_id_block_explicit_from: 0xe000 or 57344
  • usid_local_id_block_explicit_to: 0xe064 or 57444
  • usid_wide_local_id_block_start: 0xfff0 or 65520

Both formats can be used interchangeably in YAML.

Example-1: SRGB and SRLB label ranges for a PE router in a dual-plane SR-MPLS backbone.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
global_block_from: 16000
global_block_to: 23999
local_block_from: 15000
local_block_to: 15999

Example-2: Mapping server advertising prefix-SIDs for LDP-only routers in a brownfield migration.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
global_block_from: 16000
global_block_to: 23999
mapping_server:
- address_family: ipv4
prefix_sid_maps:
- prefix: 198.51.100.0
length: 24
sid_index: 400
range: 50
attached: true
- prefix: 203.0.113.0
length: 24
sid_index: 600
range: 10
- address_family: ipv6
prefix_sid_maps:
- prefix: "2001:db8:cafe::"
length: 48
sid_index: 700
range: 20
attached: true

Example-3: SRv6 with dual locators for primary and Flex-Algo 128 traffic steering.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
srv6:
enable: true
encapsulation:
source_address: "fccc:0:214::1"
locators:
- name: "MAIN"
micro_segment_behavior_unode: "psp-usd"
prefix: "fccc:0:214::"
length: 48
- name: "ALGO_128"
micro_segment_behavior_unode: "psp-usd"
prefix: "fccc:0:215::"
length: 48
algorithm: 128

Example-4: SRv6 encapsulation preserving original traffic class and TTL across the SR domain.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
srv6:
enable: true
encapsulation:
source_address: "fccc:0:500::1"
traffic_class: propagate
hop_limit: propagate

Segment Routing Traffic Engineering (SR-TE) steers traffic along computed paths by encoding segment identifier stacks at the head-end router, eliminating per-hop signaling state. Each SR-TE policy is identified by a (head-end, color, end-point) tuple and carries one or more candidate paths composed of weighted segment lists. The head-end can compute paths locally using CSPF or delegate computation to a Path Computation Element (PCE) via PCEP, with support for affinity constraints, disjoint-path groups, and cumulative metric bounds. Automated steering maps BGP prefixes to SR-TE policies through color extended communities, while interface TE metrics and named affinity maps provide fine-grained control over link selection.

Example-1: PCC with redundant PCE peers for delegated path computation in a dual-stack backbone.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
traffic_engineering:
logging:
pcep_peer_status: true
policy_status: true
pcc:
report_all: true
source_address_ipv4: "192.168.255.1"
delegation_timeout: 10
dead_timer: 60
initiated_state: 15
initiated_orphan: 10
redundancy: pcc_centric
pces:
- address: "198.51.100.10"
precedence: 100
pce_group: PCE-GROUP1
- address: "2001:db8:ffff::10"
precedence: 200

Example-2: Affinity maps, TE-metric interfaces, and MPLS/SRv6 segment lists for explicit path steering.

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
traffic_engineering:
te_latency: true
affinity_maps:
- name: CORE
bit_position: 0
- name: LOW_LATENCY
bit_position: 1
interfaces:
- name: HundredGigE0/0/0/0
metric: 10
affinities:
- name: CORE
- name: LOW_LATENCY
segment_lists:
srv6:
sid_format: usid-f3216
topology_check: true
explicit_segments:
- name: SRV6
topology_check: true
entries:
- index: 1
type: srv6sid
address: "fccc:0:214::"
mpls:
explicit_segments:
- name: CORE
entries:
- index: 1
type: adjacency
address: 198.51.100.1
- index: 2
type: mpls-label
label: 16001

SR-TE On-Demand Next-Hop (ODN) dynamically instantiates SR policies when a BGP next-hop is resolved with a color extended community that has no matching pre-provisioned policy. The router sends a path computation request to the PCE or computes locally using the optimization template defined for that color, which specifies metric type, affinity rules, disjoint-path constraints, and cumulative metric bounds. ODN eliminates the need to pre-provision per-destination policies across the network, scaling naturally as new BGP prefixes with color communities are advertised. Both MPLS and SRv6 data planes are supported, with optional BFD liveness detection, per-flow forwarding classes, and performance measurement profiles for SLA assurance.

Example-1: ODN color 100 — TE-metric optimized with PCE computation

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
traffic_engineering:
on_demand:
- color: 100
bandwidth: 500000
maximum_sid_depth: 6
source_address: 192.168.255.1
dynamic:
metric_type: te
pcep: true

Example-2: ODN color 200 — full-featured low-latency template with PCE, BFD, and performance measurement

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
traffic_engineering:
on_demand:
- color: 200
maximum_sid_depth: 6
source_address: 192.168.255.1
dynamic:
metric_type: te
anycast_sid_inclusion: true
pcep: true
metric_margin_type: absolute
metric_margin: 10
affinities:
- type: include-any
entries:
- name: CORE
- name: LOW_LATENCY
- type: exclude-any
entries:
- name: MAINTENANCE
bounds:
- scope: cumulative
type: igp
metric: 100
constraints:
segments:
protection_type: protected-preferred
effective_metric:
type: igp
value: 100
bfd:
enable: true
multiplier: 3
minimum_interval: 300
invalidation_action: down
reverse_path_binding_label: 16100
logging_session_state_change: true
performance_measurement:
delay:
profile: PM-DELAY-PROFILE1
logging_delay_exceeded: true

Example-3: ODN color 300 — SRv6 uSID with IGP-metric optimization

iosxr:
devices:
- name: router-1
host: 10.10.10.1:57400
configuration:
segment_routing:
traffic_engineering:
on_demand:
- color: 300
source_address: "2001:db8:ffff::1"
dynamic:
metric_type: igp
srv6:
locator: uSID_Primary
behavior: ub6-insert-reduced

SR-TE policies are statically provisioned traffic-engineered paths identified by a policy name, color, and endpoint address. Each policy carries one or more candidate paths ordered by preference, where the highest-preference valid path is installed in the forwarding table. Candidate paths can use dynamic computation with metric optimization objectives or explicit segment lists for deterministic forwarding. Policies support binding SIDs for hierarchical stitching, auto-route for IGP shortcut injection, BFD-based path liveness, performance measurement with delay and liveness profiles, and bidirectional co-routed associations for symmetric path requirements.

Example-1: Policy with a single dynamic candidate path using IGP-metric optimization

policies:
- name: POLICY1
color: 100
endpoint_address: 198.51.100.1
candidate_paths:
- preference: 100
paths:
- type: dynamic
metric_type: igp