Segment Routing Commands

This chapter describes the commands used to configure and use Segment Routing.

To use commands of this module, you must be in a user group associated with a task group that includes appropriate task IDs. If the user group assignment is preventing you from using any command, contact your AAA administrator for assistance.

adjacency-sid

To manually allocate an adjacency segment ID (Adj-SID) on an interface, use the adjacency-sid command in IS-IS interface address family configuration mode. To remove the Adj-SID, use the no form of the command.

adjacency-sid { index adj-sid-index | absolute adj-sid-value} [ protected]

Syntax Description

index adj-sid-index

Specifies the Adj-SID for each link based on the lower boundary of the SRLB + the index.

absolute adj-sid-value

Specifies the specific Adj-SID for each link within the SRLB.

protected

Specify if the Adj-SID is protected. For each primary path, if the Adj-SID is protected on the primary interface and a backup path is available, a backup path is installed. By default, manual Adj-SIDs are not protected.

Command Default

Adjacency SID is not protected.

Command Modes

IS-IS interface address-family configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

Segment routing must be configured on the IS-IS instance before configuring adjacency SID value.

Manually allocated Adj-SIDs are supported on point-to-point (P2P) interfaces.

Task ID

Task ID

Operations

isis

read, write

Examples

This example shows how to configure an Adj-SID.


RP/0/RSP0/CPU0:router # configure
RP/0/RSP0/CPU0:router(config)# router isis 100
RP/0/RSP0/CPU0:router(config-isis)# interface GigabitEthernet0/0/0/7
RP/0/RSP0/CPU0:router(config-isis-if)# point-to-point
RP/0/RSP0/CPU0:router(config-isis-if)# address-family ipv4 unicast
RP/0/RSP0/CPU0:router(config-isis-if-af)# adjacency-sid index 10

bgp best-path sr-policy

To select the best path, backup, or multipath resolving over nexthop using SR policies, use the bgp best-path sr-policy command in BGP configuration mode. To remove the configuration, use the no form of the command.

bgp best-path sr-policy { force | prefer }

Syntax Description

force

When force mode is enabled, only SR policy paths are considered for best path calculation.

prefer

When prefer mode is enabled, SR policy paths and eBGP non-color paths are eligible for best path calculation.

Command Default

None.

Command Modes

BGP configuration mode

Command History

Release Modification
Release 7.5.2

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Examples

The following example shows how to enable the force mode:

Router(config)#router bgp 100
Router(config-bgp)#bgp router-id 10.1.1.2
Router(config-bgp)#bgp best-path sr-policy force

clear segment-routing local-block discrepancy all

Clears segment routing local block (SRLB) label conflicts.

clear segment-routing local-block discrepancy all

Syntax Description

This command has no keywords or arguments.

Command Default

None

Command Modes

EXEC

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

When you define a new SRLB range, there might be a label conflict (for example, if labels are already allocated, statically or dynamically, in the new SRLB range). In this case, the new SRLB range will be accepted, but not applied (pending). The previous SRLB range (active) will continue to be in use until one of the following occurs:

  • Reload the router to release the currently allocated labels and allocate the new SRLB

  • Use the clear segment-routing local-block discrepancy all command to clear the label conflicts

Task ID

Task ID Operation

Examples

This example shows how to clear SRLB label conflicts.


RP/0/RSP0/CPU0:router(config)# clear segment-routing local-block discrepancy all

 

distribute link-state (IS-IS)

To configure filters for IS-IS advertisements to BGP-LS, use the distribute link-state command in the IS-IS configuration mode.

distribute link-state [ exclude-external exclude-interarea route-policy name ]

Table 1. Syntax Description:

Syntax

Description

exclude-external

Set filter to exclude information for external prefixes and specify a route-policy name to filter based on a set of destination prefixes.

exclude-interarea

Set filter to exclude information for interarea prefixes and specify a route-policy name to filter based on a set of destination prefixes.

route-policyname

Distribute prefixes based on the route policy name set.

Command Modes

IS-IS Configuration

Command History

Release Modification
Release 7.10.1

New keywords were introduced under distribute link-state .

Examples

This example shows how to configure different filters for IS-IS advertisements to BGP-LS:


Router#config
Router(config)#router isis 1 
Router(config-isis)#distribute link-state exclude-external
Router(config-isis)#commit

Router#config
Router(config)#router isis 1 
Router(config-isis)#distribute link-state exclude-interarea
Router(config-isis)#commit

Router# config
Router(config)# router isis 1 
Router(config-isis)#distribute link-state route-policy isis-rp-1
Router(config-isis)#commit

encapsulation-type srv6 relax-sid

To configure the BGP signaling for coexistence of IP routes with or without SRv6 SID over an SRv6-enabled core network use encapsulation-type srv6 relax-sid command in XR Config mode.

encapsulation-type srv6 relax-sid

Syntax Description

encapsulation-type srv6 relax-sid

Enables coexistence of IP routes with or without SRv6 SID.

Syntax Description

This command has no keywords or arguments.

Command Default

The BGP signaling for coexistence of IP routes with or without SRv6 SID over an SRv6-enabled core network is enabled.

Command Modes

Multicast routing VRF address family configuration

Command History

Release Modification
Release 24.3.1

This command was introduced.

Task ID

Task ID Operation

system

read and write

Examples

The following example shows how to enable BGP signaling for coexistence of IP routes with or without SRv6 SID over an SRv6-enabled core network:


Router(config)# router bgp 2
Router(config-bgp)# neighbor-group srv6-core-relax
Router(config-bgp-nbr)# address-family ipv4 unicast
Router(config-bgp-nbr-af)# encapsulation-type srv6 relax-sid
Router(config-bgp-nbr-af)# exit

fast-reroute

To enable Topology Independent Loop Free Alternate (TI-LFA) path using the IP Fast Reroute (FRR) mechanism, use the fast-reroute command in interface configuration mode. To return to the default behavior, use the no form of this command.

fast-reroute per-prefix ti-lfa

Syntax Description

per-prefix

Specifies an alternate path for every prefix on the specified interface.

ti-lfa

Enables link-protecting TI-LFA.

Command Default

FRR is disabled.

Link protection is disabled.

Command Modes

Interface configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

When a protected link used by the fast-reroutable label switched path (LSP) fails, the traffic is rerouted to a previously assigned backup tunnel. Configuring FRR on the tunnel informs all the nodes that the LSP is traversing that this LSP desires link/bandwidth protection.

You must verify the redundancy is ready after an RP switchover before triggering FRR on standby RP to synchronize with the active RP (verified using the show redundancy command). All TE tunnels must be in the recovered state and the database must be in the ready state for all ingress and egress line cards. To verify this information, use the show mpls traffic-eng tunnels and show mpls traffic-eng fast-reroute database commands.


Note


We recommend that you wait approximately 60 seconds before triggering FRR after verifying the database state.

If the priority associated with the specified tiebreaker is higher than any other tiebreakers, then the specified post-convergence backup path will be selected, if it is available.

Task ID

Task ID

Operations

isis

ospf

read, write

Examples

The following example shows how to enable FRR on an interface:


RP/0/RSP0/CPU0:R1(config)# router isis 1
RP/0/RSP0/CPU0:R1(config-isis)# interface TenGigE0/0/0/2/1
RP/0/RSP0/CPU0:R1(config-isis-if)# point-to-point
RP/0/RSP0/CPU0:R1(config-isis-if)# address-family ipv4 unicast
RP/0/RSP0/CPU0:R1(config-isis-if)# fast-reroute per-prefix
RP/0/RSP0/CPU0:R1(config-isis-if)# fast-reroute per-prefix ti-lfa
RP/0/RSP0/CPU0:R1(config-isis-if)# exit

generic-metric flex-algo

To configure an application-specific user-defined generic metric for IS-IS interfaces, use the generic-metric flex-algo command in the IS-IS interface address-family submode.

generic-metric flex-algo type type value

Syntax Description

type <type>

Specify the generic metric type. The range is 128–255.

<value>

Specify the flex-algo generic metric value. The range is 1–16777214.

Command Default

By default, the generic metric is not used.

Command Modes

IS-IS interface address-family submode.

Command History

Release Modification
Release 24.2.11

This command was introduced.

Usage Guidelines

None.

Task ID

Task ID

Operations

isis

read, write

Examples

The following example shows how to configure a user-defined application-specific generic metric for an interface:

Router(config)#router isis 1
Router(config-isis)#interface GigabitEthernet 0/2/0/7
Router(config-isis-if)#address-family ipv4 unicast 
Router(config-isis-if-af)#generic-metric flex-algo type 128 100
Router(config-isis-if-af)#commit

hw-module profile segment-routing srv6 mode

To enable Segment Routing over IPv6, use the hw-module profile segment-routing srv6 command in XR Config mode.


Note


Use the mandatory keyword mode from release 7.7.1 onwards.


hw-module profile segment-routing srv6 mode [ { base | | f1 } | { micro-segment format | | f3216 } | [ path-mtu ] ]

Syntax Description

Mode

Defines the SRV6 format that are supported:

  • Base: f1 (represents the base format 1).

  • Micro-segment format: f3216 (represents the format 3216, which is 32-bit block and 16-bit IDs).

path-mtu

Enables Path MTU Discovery over Ingress, Egress, and P or Transit nodes (with IPv6 role).

Syntax Description

This command has no keywords or arguments.

Command Default

None

Command Modes

XR Config

Command History

Release Modification
Release 24.1.1

The path-mtu keyword was introduced.

Release 7.7.1

Mode keyword is mandatory from release 7.7.1 onwards.

Release 6.6.1

This command was introduced.

Usage Guidelines

Use the mandatory keyword mode from release 7.7.1 onwards.

Do not use the keyword mode prior to release 7.7.1.

The router must be reloaded for the hw-module profile segment-routing srv6 feature to be functional.

Task ID

Task ID Operation

system

read, write

Examples

The following example shows how to enable Segment Routing over IPv6 for micro-segment format, from release 7.7.1 onwards:


Router(config)# hw-module profile segment-routing srv6 mode base f1 
Router(config-srv6)# encapsulation 
Router(config-srv6-encap)# l2-traffic 
Router(config-srv6-encap-l2)# traffic-class propagate 
In order to activate/deactivate this srv6 profile, you must manually reload the chassis/all line cards 

The following example shows how to enable Segment Routing over IPv6 for base, from release 7.7.1 onwards:



Router(config)# hw-module profile segment-routing srv6 mode micro-segment format f3216 
Router(config-srv6)# encapsulation 
Router(config-srv6-encap)# l3-traffic 
Router(config-srv6-encap-l3)# traffic-class policy-map 
In order to activate/deactivate this srv6 profile, you must manually reload the chassis/all line cards 

The following example shows how to enable Segment Routing over IPv6, prior to release 7.7.1:

Router# configure 
Router(config)# hw-module profile segment-routing srv6

isis prefix-attributes n-flag-clear

To set the N-flag in the Prefix Attribute Flags sub-TLV to 0, use the isis prefix-attributes n-flag-clear command.

isis prefix-attributes n-flag-clear [ level-1 | level-2]

Syntax Description

level-1

Clears the N-flag for level-1.

level-2

Clears the N-flag for level-2.

Command Default

The N-flag is set to 1 for host prefixes (/32 for IPv4 and /128 for IPv6).

Command Modes

Interface configuration

Command History

Release Modification
Release 7.0.12

This command was introduced.

Usage Guidelines

The Prefix Attributes Flag sub Type Length Value (TLV) supports the advertisement of attribute flags associated with prefix advertisements. By default, the N-flag is set by IS-IS when advertising a SID that is associated with a loopback address. The advertising router may choose to not set this flag. When the N-flag is cleared, the N-flag is set to 0 in the Prefix Attribute Flags sub-TLV.

Prefix attributes are only added when wide metric is used.

Task ID

Task ID Operation

Examples

This example shows how to clear the N-flag:


RP/0/RSP0/CPU0:router # configure
RP/0/RSP0/CPU0:router(config)# interface loopback0
RP/0/RSP0/CPU0:router(config-if)# isis prefix-attributes n-flag-clear

l2-adjacency sid

To manually configure a Layer 2 adjacency segment ID (Adj-SID) on an interface, use the l2-adjacency sid in adjacency SID interface address-family configuration mode. To remove the Layer 2 Adj-SID, use the no form of this command.

l2-adjacency sid {index adj-SID-index | absolute adj-SID-value} [next-hop ipv4_address]

Syntax Description

index adj-SID-index

Specifies the Adj-SID for each link based on the lower boundary of the SRLB + the index.

absolute adj-SID-value

Specifies the specific Adj-SID for each link within the SRLB.

next-hop ipv4_address

(Optional) Specifies the next-hop neighbor IPv4 address.

Command Default

None

Command Modes

Adjacency SID interface address-family

Command History

Release Modification
Release 7.0.14

This command was introduced.

Usage Guidelines

For point-to-point interfaces, you are not required to specify a next-hop. However, if you do specify the next-hop, the Layer 2 Adj-SID will be used only if the specified next-hop matches the neighbor address.

For LAN interfaces, you must configure the next-hop IPv4 address. If you do not configure the next-hop, the Layer 2 Adj-SID will not be used for LAN interface.

Task ID

Task ID Operation

Examples

This example shows how to configure a Layer 2 Adj-SID on an interface:


RP/0/RP0/CPU0:ios(config)# segment-routing
RP/0/RP0/CPU0:ios(config-sr)# adjacency-sid
RP/0/RP0/CPU0:ios(config-sr-adj)# interface gigabitEthernet 0/0/0/3
RP/0/RP0/CPU0:ios(config-sr-adj-intf)# address-family ipv4 unicast
RP/0/RP0/CPU0:ios(config-sr-adj-intf-af)# l2-adjacency-sid index 300 next-hop 1.1.1.4

metric-type generic

To use the user-defined generic metrics as a metric for Flexible Algorithm Definition (FAD), use the metric-type generic command in the IS-IS flexible algorithm configuration mode.

metric-type generic type

Syntax Description

<type>

Specify the generic metric type. The range is 128–255.

Command Default

By default, the generic metric is not used.

Command Modes

IS-IS Flex Algo.

Command History

Release Modification
Release 24.2.11

This command was introduced.

Usage Guidelines

If a user-defined generic metric is enabled, the router advertises and uses the metrics for flexible algorithm computation.

Task ID

Task ID

Operations

isis

read, write

Examples

The following example shows how to associate or advertise the configured user-defined generic metric to a Flexible Algorithm Definition. The user-defined application-specific generic metric is configured for an interface using the generic-metric flex-algo command.

Router(config)#router isis 1
Router(config-isis)#flex-algo 128
Router(config-isis-flex-algo)#priority 254
Router(config-isis-flex-algo)#metric-type generic 177
Router(config-isis-flex-algo)#advertise-definition

microloop avoidance rib-update-delay

To set the Routing Information Base (RIB) update delay value to avoid microloops in the network, use the microloop avoidance rib-update-delay command. To disable the RIB update delay, use the no form of this command.

microloop avoidance rib-update-delay delay-time

Syntax Description

delay-time

Specifies the amount of time the node uses the microloop avoidance policy before updating its forwarding table. The delay-time is in milliseconds. The range is from 1-60000.

Command Default

The default value is 5000 milliseconds.

Command Modes

IPv4 address family configuration

Router configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

Use this command with the microloop avoidance segment-routing command to specify how long the path to the destination is used. After the RIB update delay timer expires, the path is replaced with regular forwarding paths.

Task ID

Task ID Operation

ospf

isis

read, write

Examples

This example shows how to set the Routing Information Base (RIB) update delay value for OSPF:


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router ospf 1
RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance segment-routing 
RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance rib-update-delay 3000

This example shows how to set the Routing Information Base (RIB) update delay value for IS-IS:


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router isis 1
RP/0/RSP0/CPU0:router(config-isis)# address-family ipv4 unicast 
RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance segment-routing 
RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance rib-update-delay 3000 

microloop avoidance segment-routing

To enable the segment routing microloop avoidance and set the Routing Information Base (RIB) update delay value, use the microloop avoidance command. To disable segment routing microloop avoidance, use the no form of this command.

microloop avoidance segment-routing

Command Default

Disabled.

Command Modes

IPv4 address family configuration

Router configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

The Segment Routing Microloop Avoidance feature detects if microloops are possible following a topology change. If a node computes that a microloop could occur on the new topology, the node creates a loop-free path to the destination using a list of segments. After the RIB update delay timer expires, the path is replaced with regular forwarding paths.

Task ID

Task ID Operation

ospf

isis

read, write

Examples

This example shows how to enable Segment Routing Microloop Avoidance for OSPF:


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router ospf 1
RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance segment-routing 
RP/0/RSP0/CPU0:router(config-ospf)# microloop avoidance rib-update-delay 3000

This example shows how to enable Segment Routing Microloop Avoidance for IS-IS:


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router isis 1
RP/0/RSP0/CPU0:router(config-isis)# address-family ipv4 unicast 
RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance segment-routing 
RP/0/RSP0/CPU0:router(config-isis-af)# microloop avoidance rib-update-delay 3000 

performance-measurement delay-profile name

To detect the delay of an name, use the performance-measurement delay-profile name command in global configuration. To disable the delay-profile, use the no form of the command.

performance-measurement delay-profile name value probe [ flow-label { explicit value | from value to value increment value } | measurement-mode { one-way | two-way | loopback } | sweep destination ipv4 ip-address range range-value | tos { dscp value | traffic-class value } | tx-interval value ]

Syntax Description

flow-label{explicit value | from value to value increment}

Specify explicit list of flow labels or specify the range. The range is from 1 to 28 flow labels.

measurement-mode {one-way | two-way | loopback}

Specify the delay measurement mode. There are three options:

one-way: Measures the one way delay with timestamp 1 and 2.

two-way: Measures the one way delay with timestamp 1, 2, 3 and 4 without clock synchronization.

loopback: Measures the delay in loopback mode.

sweep destination ipv4ip-addressrangevalue

Specify the sweep IP destination addresses to perform ECMP hashing.

The IPv4 adress range is 0 to 128.

tos {dscp value | tos traffic-class value} Specify the delay probe type of service. The allowed range for DSCP is 0 to 63.

specify the traffic class value to indicate the TOS level used by protocol PM MPLS. The range is from 0 to 7.

tx-interval value

Specify the transmission interval. The allowed range is from 30000 to 15000000 micro seconds.

probe

Enter probe configuration submode.

Command Default

The default measurement-mode is one-way.

The default ToS DSCP value is 48 for IP/UDP.

Command Modes

XR Config

Command History

Release Modification
Release 7.4.1

This command was introduced.

Release 7.6.1

The name name keyword was deprecated. Use the performance-measurement delay-profile name command to create a named profile.

Release 24.2.11

The command is modified to include the flow-label keyword.

Examples

To use this command, you must be in a user group associated with a task group that includes appropriate task IDs. If the user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

Router(config)# performance-measurement
Router(config-perf-meas)# delay-profile endpoint default
Router(config-pm-dm-ep)# probe
Router(config-pm-dm-ep-probe)# measurement-mode one-way

The following example shows how to configure flow label for delay profile.

performance-measurement endpoint

To enable endpoint for the performance measurement, use the performance-measurement endpoint command in global configuration mode. To disable the endpoint, use the no form of the command.

performance-measurement endpoint ipv4 | ipv6 endpoint_ip_addr [ vrf name ] [ delay-measurement [ delay-profile name profile_name ] | description description | liveness-detection [ liveness-profile name profile_name ] | segment-list name sidlist_name | source-address ipv4 | ipv6 source_ip_addr ]

Syntax Description

endpoint_ip_addr

IPv4 and IPv6 address of the endpoint.

vrf name

The name of the VRF instance.

delay-measurement

Enable delay-measurement on the endpoint.

delay-profile name profile_name

Specify an optional delay profile name.

description description

Specify a description for the endpoint.

liveness-detection

Enable liveness-detection on the endpoint.

liveness-profile name profile_name

Specify an optional liveness profile name.

segment-list name sidlist_name

Specify a segment list for the endpoint.

source-address ipv4 source_ip_addr

IPv4 address of the sender.

source-address ipv6 source_ip_addr

IPv6 address of the sender.

Command Default

None

Command Modes

XR Config

Command History

Release Modification
Release 24.2.11

The command was modified to include IPv6 endpoint.

Release 7.4.1

This command was introduced.

Usage Guidelines

To use this command, you must be in a user group associated with a task group that includes appropriate task IDs. If the user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

Examples

The following example show how to enable IPv4 endpoint for the delay measurement.

Router(config)# performance-measurement
Router(config-perf-meas)# endpoint ipv4 10.10.1.5
Router(config-pm-ep)# source-address ipv4 10.10.1.1
Router(config-pm-ep)# delay-measurement

The following example show how to configure IPv6 endpoint for liveness.


Router(config)#performance-measurement
Router(config-perf-meas)#source-address ipv6 FCBB:0:1::
Router(config-perf-meas)#endpoint ipv6 FCBB:0:5::
Router(config-pm-ep)#exit             
Router(config-perf-meas)#liveness-profile endpoint default

performance-measurement interface

This command helps you configure the target interface with probe packets that transit Interface ID and timestamp templates within a network.

performance-measurement interface GigE 0/1/0/1 { path-tracing { { interface-id {1-4095} | timestamp template {st0 | st1 | st2 | st3} } } }

Syntax Description

path-tracing

Enables path-tracing for the interface for tracing short timestamp, interface-id and interface load on source, midpoint and sink nodes in PT probes.

interface-id

Enter interface ID that is between 1-4095.

Default value is none. Interface ID value 0 is used internally to indicate PT is disabled on the interface.

Timestamp template {st0 | st1 | st2 | st3} Enter the Timestamp template you want to configure.

You can apply global template type for short timestamp to st1 to overwrite the default value.

Command Default

Path tracing is disabled by default.

The default value for Interface ID is set to None.

The default value for timestamp template is set to st2.

Command Modes

XR Config

Command History

Release Modification
Release 7.8.1

This command was introduced.

Usage Guidelines

Enable path-tracing for the interface for tracing short timestamp, interface-id and interface load on source, midpoint and sink nodes in PT probes.

Examples

This example shows how to configure Path Tracing midpoint with InterfaceID and time-stamp:

Router(config)# performance-measurement
Router(config-pm)# interface FourHundredGigE0/0/0/1
Router(config-pm-interf)# path-tracing
Router(config-pm-interf-interf-id)# interface-id 200 
Router(config-pm-interf-time)# timestamp template st3 
Router(config-pm-interf-time)# exit

performance-measurement liveness-detection

To apply an SR performance measurement liveness profile to an SR-TE or an SRv6-TE policy, use the performance-measurement liveness-detection command in the SR-TE policy configuration mode. To disassociate the profile from the SR-TE policy, use the no form of the command.

performance-measurement liveness-detection [ liveness-profile [backup] name profile | validation-cp minimum-active segment-lists [ 1-128 | all ] probe { burst-interval value | tx-interval interval } ]

Syntax Description

liveness-profile [backup] name profile

(Optional) Specifies the liveness profile that is to be associated with the SR-TE policy.

The name profile command form specifies the liveness profile, and the backup name profile command form specifies the backup liveness profile.

validation-cp minimum-active

(Optional) Validates the activeness of the candidate-path based on minimum number of active segment-lists.

segment-lists

Indicates the number of active segment-lists.

1-128 | all

  • 1-128: Indicates the minimum number of segment-lists to have the PM liveness session up.

  • all: Indicates that all the segment-lists should be active to have the PM liveness session up.

probe

Enter endpoint liveness detection probe submode.

burst-interval interval

Specify the interval for sending probe packet. The range is from 30 to 15000 milliseconds.

tx-interval value

Specify the transmission interval. The allowed range is from 30000 to 15000000 micro seconds.

tos dscp value

Type of Service DSCP. The range is from 0 to 63.

Command Default

The Default performance measurement liveness profile is associated with an SR-TE policy.

Command Modes

SR-TE policy configuration (config-sr-te-policy)
On-Demand SR-TE policy configuration (config-sr-te-color)

Command History

Release Modification
Release 7.11.1

The validation-cp minimum-active segment-lists option was introduced.

Release 7.10.1

The burst-interval interval keyword was deprecated.

Release 7.4.2

The backup keyword was added to the command.

Release 7.3.1

This command was introduced.

Usage Guidelines

Path protection policies do not fully support PCE reporting of the standby LSP.

Examples

This example shows how to associate a liveness profile to an SR-TE policy:

Router(config)#segment-routing traffic-eng
Router(config-sr-te)#policy TRST2
Router(config-sr-te-policy)#color 40 end-point ipv4 20.20.20.20
Router(config-sr-te-policy)#performance-measurement liveness-detection liveness-profile name profile3 

Router(config)#segment-routing traffic-eng
Router(config-sr-te)#on-demand color 30
Router(config-sr-te-color)#performance-measurement liveness-detection liveness-profile name profile3
Router(config-sr-te-color)#commit

This example shows how to associate a backup liveness profile to an SR-TE policy:

RP/0/RSP0/CPU0:ios# configure 
RP/0/RSP0/CPU0:ios(config)#segment-routing traffic-eng 
RP/0/RSP0/CPU0:ios(config-sr-te)#policy foo 
RP/0/RSP0/CPU0:ios(config-sr-te-policy)# color 10 end-point ipv4 192.168.0.3  
RP/0/RSP0/CPU0:ios(config-sr-te-policy)# performance-measurement  
RP/0/RSP0/CPU0:ios(config-sr-te-policy-perf-meas)# liveness-detection 
RP/0/RSP0/CPU0:ios(config-sr-te-policy-live-detect)# liveness-profile name profile-WORKING 
RP/0/RSP0/CPU0:ios(config-sr-te-policy-live-detect)# liveness-profile backup name profile-PROTECT 
RP/0/RSP0/CPU0:ios(config-sr-te-policy-live-detect)# commit 
This example shows how to activate two segment-lists to have the PM liveness session up:
Router(config)#segment-routing 
Router(config-sr)#traffic-eng 
Router(config-sr-te)#policy po-103
Router(config-sr-te-policy)#performance-measurement 
Router(config-sr-te-policy-perf-meas)#liveness-detection
Router(config-sr-te-policy-live-detect)#validation-cp minimum-active segment-lists 2

performance-measurement liveness-profile

To create a unique Segment Routing performance measurement liveness profile, use the performance-measurement liveness-profile command in global configuration mode. To remove the profile, use the no form of the command.

performance-measurement liveness-profile [ name [ name npu-offload enable ] | probe flow-label [ explicit | from ] ]

Table 2. Syntax Description

Syntax

Description

name name

Specifies the Segment Routing performance measurement liveness profile name.

npu-offload

Enables performance measurement liveness hardware (NPU) offload feature in the SR

probe

Enter the liveness detection probe sub mode.

flow-label

Indicates the flow labels associated with SRv6 header.

explicit | from Specify explicit flow label values or enter a range of flow labels that you want to configure. You can configure flow labels in the 0 to 1048575 range.

Command Default

No user created performance measurement liveness profile exists.

Command Modes

Global configuration (config)

Command History

Release Modification
Release 7.11.1

This command was introduced on Cisco 8011-2X2XP4L PLE Service Endpoint Router.

Release 7.11.1

The flow-label keyword was introduced.

Usage Guidelines

The performance-measurement command is also available in SR-TE specific configuration.

Examples

This example shows how to create a unique Segment Routing performance measurement liveness profile:

Router(config)# performance-measurement liveness-profile name profile1
Router(config)# commit
This example shows how to configure flow labels in the SRv6 header:
Router#configure 
Router(config)#performance-measurement 
Router(config-perf-meas)#liveness-profile name profile-sweeping
Router(config-pm-ld-profile)# flow-label from 0 to 1000000 increment 12345
Routerconfig-pm-ld-profile)#commit
This example shows how to configure a range of flow labels in the SRv6 header:
Router#configure 
Router(config)#performance-measurement 
Router(config-perf-meas)#liveness-profile name name1
Router(config-pm-ld-profile)# probe flow-label from 0 to 1000000 increment 10
Routerconfig-pm-ld-profile)#commit
This example shows how to explicitly configure flow labels in the SRv6 header:
Router#configure 
Router(config)#performance-measurement 
Router(config-perf-meas)#liveness-profile name name1
Router(config-pm-ld-profile)# probe flow-label explicit 100 200 300 400 500
Routerconfig-pm-ld-profile)#commit

performance-measurement delay-profile

To create a unique Segment Routing performance measurement delay profile, use the performance-measurement delay-profile command in global configuration mode.

performance-measurement delay-profile { sr-policy default } { endpoint default } { interface default } { name | | string name } advertisement { anomaly-loss } { anomaly-check } upper-bound <1-99> lower-bound <number lower than the upper bound (0-98)>


Note


Synthetic Loss Measurement is an inbuilt feature of delay measurement. To get the packet loss information for delay-measurement sessions, you only need to configure the delay sessions. No additional configuration is required for Synthetic Loss Measurement.


Syntax Description

name string name

(Optional) Specifies the Segment Routing performance measurement delay profile name.

sr-policy default

(Optional) Specifies the Segment Routing performance measurement default sr-policy name.

endpoint default

(Optional) Specifies the Segment Routing performance measurement default endpoint name.

interface default

(Optional) Specifies the Segment Routing performance measurement default interface.

advertisement

Specifies the Segment Routing performance measurement advertisement you want to configure.

anomaly-check

(optional) It checks the delay metrics, for example if the min delay changes exceed the configured threshold, it advertises ANOM-MIN-DYN; if you configured the anomaly-check and the static delay, and the configured static delay exceed the threshold, it advertises ANOM-MIN-STA.

You can configure the anomaly loss with upper-bound and lower-bound values.

  • upper-bound specifies the upper limit for the anomaly check. It must be between 2-200000

  • lower-bound specifies the lower limit for the anomaly check. It must be between 1-199999 and lower than the upper-bound value.

anomaly-loss

(optional) Once the packet loss exceed the configured threshold, it advertises ANOM-PKT-LOSS.

You can configure the anomaly loss with upper-bound and lower-bound values.

  • upper-bound specifies the upper limit for the anomaly loss. It must be between 1-99

  • lower-bound specifies the lower limit for the anomaly loss. It must be between 0-98 and lower than the upper-bound value.

If both anomaly-check and anomaly-loss are triggered, then it advertises for anomaly-check, because it has a higher priority than anomaly-loss

  • min delay changes = current min delay - previous min delay

  • packet loss = (expected packet number - received packet number) / expect packet number * 100%

Command Default

No user created performance measurement delay profile exists.

Command Modes

Global configuration (config)

Command History

Release Modification

Release 24.1.1

This command was introduced.

Task ID

Task ID Operation

performance-measurement

write/read

Usage Guidelines

The performance-measurement command is also available in SR-TE specific configuration.

Examples

This example shows how to create a unique Segment Routing performance measurement delay profile:

Router(config)# performance-measurement delay-profile sr-policy name profile1
Router(config)# commit
This example shows the example of anomaly-loss:

Router(config)#performance-measurement
Router(config-perf-meas)#delay-profile sr-policy default
Router(config-pm-dm-srpolicy)#advertisement
Router(config-pm-dm-srpolicy-adv)#anomaly-loss
Router(config-pm-dm-srpolicy-adv-anom-loss)#upper-bound 30 lower-bound 20
Router(config-pm-dm-srpolicy-adv-anom-loss)#commit
This example shows the example of anomaly-check:

Router(config)#performance-measurement
Router(config-perf-meas)#delay-profile sr-policy default
Router(config-pm-dm-srpolicy)#advertisement
Router(config-pm-dm-srpolicy-adv)#anomaly-check
Router(config-pm-dm-srpolicy-adv-anom-loss)#upper-bound 2000 lower-bound 20
Router(config-pm-dm-srpolicy-adv-anom-loss)#commit

performance-measurement protocol twamp-light measurement delay

To configure the querier or responder nodes to accept packets from specific IP addresses on the network, use the performance-measurement protocol twamp-light measurement delay command in the global configuration mode. To remove the IP addresses, use the no form of the command.

performance-measurement protocol twamp-light measurement delay { querier allow responder address { ipv4 | ipv6 } | responder allow querier address { ipv4 | ipv6 } | unauthenticated { ipv4 | ipv6 | querier-dst-port | querier-src-port } }

Syntax Description

querier

Enter the querier submode to configure the IP addresses on a querier node.

responder

Enter the responder submode to configure the IP address on a responder node.

allow responder

Specifies the allowed responder address on the querier node. The configuration is applicable to delay measurement sessions.

allow querier

Specifies the allowed querier addresses on the responder node. The configuration is applicable to delay measurement sessions.

address

Specifies the querier or responder IP addresses that are configured.

{ ipv4 | ipv6 }

Configure the allowed querier or responder ipv4 or ipv6 addresses.

You can specify the prefix for the IP addresses.

unauthenticated Enter the unauthenticated submode to configure the IP address timestamp or the source and destination UDP ports.
ipv4 | ipv6

Configure the timestamp for ipv4 or ipv6 addresses.

querier-dst-port

Configure the UDP port to process queries. By default, the TWAMP reserved UDP destination port is 862.

querier-src-port

UDP port on Route Processor used as source port in queries.

Command Default

None.

Command Modes

Global Configuration

Command History

Release Modification
Release 7.11.1

The querier and responder keywords were introduced.

Release 7.0.1

This command was introduced.

Usage Guidelines

None.

Examples

This example shows how to configure the IP address of a querier on a responder node for delay measurement.

Router#configure
Router(config)#performance-measurement
Router(config-perf-meas)#protocol twamp-light
Router(config-pm-protocol)#measurement delay
Router(config-pm-proto-meas)#responder
Router(config-pm-proto-responder)#allow-querier
Router(config-pm-allowed-querier)#address ipv4 10.10.10.1
Router(config-sr-te-color)#commit

ping mpls nil-fec labels

To check network connectivity and identify LSP breakages, use the ping mpls nil-fec labels command.

ping mpls nil-fec labels { label[ ,label...] } [ output { interface tx-interface} [ nexthop next-hop-ip-address]]

Syntax Description

labels label,label...

Specifies the label stack. Use commas to separate the each label.

ouput interface tx-interface

Specifies the output interface.

nexthop next-hop-ip-address

(Optional) Causes packets to go through the specified next-hop address.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to check connectivity for a known label stack using a specific output interface and next-hop address:


RP/0/RSP0/CPU0:router# ping mpls nil-fec labels 16005,16007 output interface GigabitEthernet 0/2/0/1 nexthop 10.1.1.4 repeat 1
Sending 1, 72-byte MPLS Echos with Nil FEC labels 16005,16007,
     timeout is 2 seconds, send interval is 0 msec:

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms
 Total Time Elapsed 0 ms
 

ping sr-mpls

To check the connectivity of the segment routing control plane, use the ping sr-mpls command in XR EXEC mode mode.

ping sr-mpls { ipv4-address/mask | ipv6-address/mask [ fec-type { bgp | generic | igp { ospf | isis } } ] | nil-fec | dataplane-only { labels { label1 [ , label2... ] ipv4-address/mask | ipv6-address/mask | policy } } { output { interface interface-path-id } } | { nexthop next-hop-ip-address } }

Syntax Description

ipv4-address/mask or ipv6-address/mask

Address prefix of the target and number of bits in the target address network mask.

fec-type

(Optional) Specifies the FEC type to be used. The default FEC type is generic.

bgp

Use FEC type as BGP.

generic

Use FEC type as generic

igp

Use FEC type as OSPF or IS-IS.

labels label1, label2...

Specifies the label stack. Use commas to separate each label.

dataplane-only

Specifies data plane validation without running actual traffic over LSPs.

output interface interface-path-id

Specifies the output interface where echo request packets are sent.

nexthop next-hop-ip-address

Causes packets to go through the specified IPv4 or IPv6 next-hop address.

Command Default

fec-type : generic

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 24.2.11

The dataplane-only keyword was introduced.

Support for IPv6 next-hop address was added.

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID

Operations

mpls-te

read, write

Examples

Example

These examples show how to use segment routing ping to test the connectivity of the segment routing control plane. In the first example, the FEC type is not specified. You can also specify the FEC type as shown in the second example.

RP/0/RP0/CPU0:router# ping sr-mpls 10.1.1.2/32
 
Sending 5, 100-byte MPLS Echos to 10.1.1.2/32,
      timeout is 2 seconds, send interval is 0 msec:
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/5 ms
RP/0/RP0/CPU0:router# ping sr-mpls 10.1.1.2/32 fec-type igp ospf
 
Sending 5, 100-byte MPLS Echos to 10.1.1.2/32,
      timeout is 2 seconds, send interval is 0 msec:
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
 

The following example shows how to use segment routing ping to validate SR-MPLS over IPv6-based LSPs:

Router#ping sr-mpls dataplane-only 2001:DB8::1/32
Tue Jan 16 15:05:19.120 EST
 
Sending 5, 100-byte MPLS Echos with Nil FEC to 2001:DB8::1/32,
      timeout is 2 seconds, send interval is 0 msec:
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/8 ms

The following example shows how to use segment routing ping for SR-TE policies with IPv6-based LSPs:

Router#ping sr-mpls nil-fec policy name srte_c_40_ep_2001:DB8::1
Tue Feb  6 12:08:28.277 EST

Sending 5, 100-byte MPLS Echos with Nil FEC for SR-TE Policy srte_c_40_ep_2001:DB8::1,
      timeout is 2 seconds, send interval is 0 msec:

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

The following example shows how to use segment routing ping with labels using IPv6 LSPs:

Router#ping sr-mpls labels 18004 lsp-end-point 2001:DB8::1
Tue Feb  6 12:11:05.349 EST

Sending 5, 100-byte MPLS Echos with NIL FEC with lsp end point 2001:DB8::1, SID Label(s) [18004],
      timeout is 2 seconds, send interval is 0 msec:

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/4 ms

prefix-sid

To specify or advertise prefix (node) segment ID (SID) on all routers, use the prefix-sid command in IS-IS interface address family or OSPF interface configuration mode. To stop advertising prefix SID, use the no form of this command.

prefix-sid [strict-spf] { index sid-index | absolute sid-value } [n-flag-clear] [explicit-null] [php-disable]

Syntax Description

strict-spf

Specifies that the prefix-SID should use the SPF path.

index sid-index

Specifies the prefix SID based on the lower boundary of the SRGB + the index.

absolute sid-value

Specifies the specific prefix SID value within the SRGB.

n-flag-clear

Specifies that the prefix-SID is not a node-SID by setting the N flag in the prefix-SID sub Type Length Value (TLV) to 0.

explicit-null

Adds an explicit-Null label by setting the E flag in the prefix-SID sub TLV to 1. Automatically disables penultimate-hop-popping (PHP) by setting the P flag (IS-IS) or NP flag (OSPF) to 1.

php-disable

Disables penultimate-hop-popping (PHP) by setting the P flag (IS-IS) to 1.

Command Default

Prefix SID is a node SID (N-flag is set to 1).

Explicit-Null label is not set (E-flag is set to 0).

Penultimate-hop-popping (PHP) is not set (P-flag is set to 0).

Command Modes

IS-IS interface address-family configuration

OSPF interface configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Release 7.5.4

The php-disable keyword was introduced for IS-IS.

Usage Guidelines

Segment routing must be configured on the ISIS instance or on the OSPF process, area, or interface before configuring prefix SID value.

Strict-SPF SIDs are used to forward traffic strictly along the SPF path. Strict-SPF SIDs are not forwarded to SR-TE policies. IS-IS advertises the SR Algorithm sub Type Length Value (TLV) (in the SR Router Capability SubTLV) to include both algorithm 0 (SPF) and algorithm 1 (Strict-SPF). When the IS-IS area or level is Strict-SPF TE-capable, Strict-SPF SIDs are used to build the SR-TE Strict-SPF tunnels. Strict-SPF SIDs are also used to program the backup paths for prefixes, node SIDs, and adjacency SIDs.


Note


The same SRGB is used for both regular SIDs and strict-SPF SIDs.

The explicit-null keyword disables penultimate-hop-popping (PHP) and adds an explicit-Null label. Any upstream neighbor of the Prefix-SID originator replaces the Prefix-SID with a Prefix-SID having an Explicit NULL value.

The php-disable keyword disables penultimate-hop-popping (PHP) for IS-IS. The penultimate hop will not pop the Prefix-SID before delivering the packet to the node that advertised the Prefix-SID.

Task ID

Task ID

Operations

isis

ospf

read, write

Examples

This example shows how to configure a prefix SID.


RP/0/RSP0/CPU0:router # configure
RP/0/RSP0/CPU0:router(config)# router isis 100
RP/0/RSP0/CPU0:router(config-isis)# interface loopback0
RP/0/RSP0/CPU0:router(config-isis-if)# address-family ipv4 unicast
RP/0/RSP0/CPU0:router(config-isis-if-af)# prefix-sid index 1001

This example shows how to configure an absolute prefix SID on an OSPF interface.


RP/0/RSP0/CPU0:router # configure
RP/0/RSP0/CPU0:router(config)# router ospf 1
RP/0/RSP0/CPU0:router(config-ospf)# area 0
RP/0/RSP0/CPU0:router(config-ospf-ar)# interface loopback0
RP/0/RSP0/CPU0:router(config-ospf-ar-if)# prefix-sid absolute 16041

prefix-unreachable

Use this command for UPA advertisements by enabling individual control parameters.

The new prefix-unreachable command under IS-IS address-family submode includes several command-options that control various parameters for UPAs originated by the router.

prefix-unreachable { adv-lifetime <value> | adv-metric <value> | adv-maximum <value> | rx-process-enable }

Syntax Description

Keyword

Details

prefix-unreachable

Lists the control options of UPA.

adv-lifetime
  • This command is optional.

  • Amount of time the UPA will be advertised after the prefix becomes unreachable.

    Range of values is 30–65535 seconds.

  • Default value is 180 seconds.

adv-metric
  • This command is optional.

  • Metric used when advertising UPA.

    Range of values is 4261412865–4294967294 (0xFE000001 to 0xFFFFFFFE).

  • Default value is 4261412865 (0xFE000001).

adv-maximum
  • This command is optional.

    UPAs that are leaked or propagated are not counted against this limit.

  • Maximum number of UPAs that the router is allowed to generate to any of its attached areas or domains. UPAs that are leaked, propagate, or redistributed are not counted against this limit.

    Range of values is 1–65535.

  • Default value is 32.

rx-process-enable
  • This command is optional.

  • If enabled, the UPA received by the router is sent to RIB and is used to trigger the BGP PIC.

  • It is disabled by default.

Command Default

None.

Command Modes

IS-IS interface address-family configuration

Task ID

Task ID

Operations

IS-IS

read, write

Examples

This example shows how to configure UPA.


Router(config)#router isis 1
Router(config-isis)#address-family ipv6 un
Router(config-isis-af)#prefix-unreachable 
Router(config-isis-prefix-unreachable)#adv-lifetime 500
Router(config-isis-prefix-unreachable)#adv-metric 4261412866
Router(config-isis-prefix-unreachable)#adv-maximum 77
Router(config-isis-prefix-unreachable)#rx-process-enable 
Router(config-isis-prefix-unreachable)#commit

partition-detect

Use partition-detect command for an area or domain partition detection. It is a new command under IS-IS address-family sub-mode.

partition-detect { track IPv4 address | IPv6 address [external-id IPv4 -address | IPv6 address ]

Syntax Description

Keyword

Details

track IPv4 address | IPv6 address [external-id IPv4 -address | IPv6 address ]

Tracks the reachability of the specific ABR or ASBR. This command is under the partition-detect sub-mode.

  • Only IPv4 address is allowed under IPv4 address-family sub-mode and only IPv6 address is allowed under IPv6 address-family sub-mode.

  • external-id is only used for ASBR tracking. External-id is the address of the ASBR, in other domain.

Command Default

None.

Command Modes

IS-IS interface address-family configuration

Command History

Release

Modification

Release 7.10.1

This command was introduced.

Task ID

Task ID

Operations

IS-IS

read, write

Examples

This example shows how to configure partition-detect.


Router(config)#router isis 1
Router(config-isis)#address-family ipv6 unicast 
Router(config-isis-af)#router-id 2001:DB8:4::4
Router(config-isis-af)#partition-detect
Router(config-isis-af)#track 2001:DB8:1::1 
Router(config-isis-af)#commit

summary-prefix

Use the exiting summary-prefix command for UPA advertisement.

summary-prefix prefix/mask level 1or 2 [ tag value ][ adv-unreachable { unreachable-component-tag value partition-repair }]

Syntax Description

Keyword

Details

level1or 2

Enter the border router values 1 or 2. To set the border router level for UPA.

tagvalue

Enter the tag value for which you want to enable the UPA.

adv-unreachable

The new keyword adv-unreachable controls the UPA advertisement for the components of the summary.

The new adv-unreachable keyword is optional and disabled by default.

unreachable-component-tagvalue

The unreachable-component-tag is used to limit UPAs to those components of the summary that are advertised with a specific tag value.

The unreachable-component-tag keyword is disabled by default and UPA is generated for all components of the summary if enabled by the adv-unreachable keyword.

partition-repair

In case the area (domain) partition is detected, the summary is suppressed, and more specific prefixes are advertised.

Command Default

None.

Command Modes

IS-IS address-family configuration

Command History

Release

Modification

Release 7.10.1

The partition-repair keyword was introduced.

Release 7.8.1

This command was introduced.

Usage Guidelines

New commands are added under the exiting IS-IS address-family sub-mode summary-prefix command.

Task ID

Task ID

Operations

IS-IS

read, write

Examples

This example shows how to configure Summary-Prefix for UPA.


Router(config)#router isis 1
Router(config)#router isis 1
Router(config-isis)#address-family ipv6 unicast 
Router(config-isis-af)#router-id 2001:DB8:4::4
Router(config-isis-af)#summary-prefix 2001:DB8::/32 level 2 partition-repair 
Router(config-isis-af)#summary-prefix 2001:DB9::/32 level 2 algorithm 128 partition-repair

segment-routing bundle-member-adj-sid

To program the dynamic Layer 2 Adj-SIDs, and advertise either manual and dynamic Layer 2 Adj-SIDs, use the segment-routing bundle-member-adj-sid in IS-IS interface address-family configuration mode. To disable this command, use the no form of this command.

segment-routing bundle-member-adj-sid

Syntax Description

This command has no keywords or arguments.

Command Default

None

Command Modes

IS-IS interface address-family configuration

Command History

Release Modification
Release 7.0.14

This command was introduced.

Usage Guidelines

This command is not required to program manual L2 Adj-SID, but is required to program the dynamic Layer 2 Adj-SIDs and to advertise either manual and dynamic Layer 2 Adj-SIDs.

If manual Adj-SIDs are configured on the bundle interface members, IS-IS advertises the manual Adj-SID.

If manual Adj-SIDs are not configured for the bundle member interface, IS-IS advertises the dynamic Adj-SID.

Examples

This example shows how to program the dynamic Layer 2 Adj-SIDs, and advertise either manual and dynamic Layer 2 Adj-SIDs:


RP/0/RP0/CPU0:ios(config)# router isis 1
RP/0/RP0/CPU0:ios(config-isis)# address-family ipv4 unicast
RP/0/RP0/CPU0:ios(config-isis-af)# segment-routing bundle-member-adj-sid
RP/0/RP0/CPU0:ios(config-isis-af)#

segment-routing global-block

To configure the segment routing global block (SRGB), use the segment-routing global-block command in XR Config mode.

segment-routing global-block starting_value ending_value

Syntax Description

starting_value ending_value

Specifies the block of segment routing IDs that are allocated for the routers in the network. Ranges from 16000 to 1048574.

Command Default

Default SRGB range is 16000 to 23999.

Command Modes

XR Config mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

To keep the segment routing configuration simple and to make it easier to troubleshoot segment routing issues, we recommend that you use the default SRGB range on each node in the domain. However, there are instances when you might need to define a different range:

  • The nodes of another vendor support a label range that is different from the default SRGB, and you want to use the same SRGB on all nodes.

  • The default range is too small.

  • To specify separate SRGBs for IS-IS and OSPF protocols, as long as the ranges do not overlap.

Because the values assigned from the range have domain-wide significance, we recommend that all routers within the domain be configured with the same range of values.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to configure the SRGB range:


RP/0/RSP0/CPU0:router(config)# segment-routing global-block 17000 20000

segment-routing local-block

To configure the segment routing local block (SRLB), use the segment-routing local-block command inXR Config mode.

segment-routing local-block starting_value ending_value

Syntax Description

starting_value ending_value

Specifies the block of labels that are reserved for manual allocation of adjacency segment IDs (Adj-SIDs). Ranges from 15000 to 1048574.

Command Default

Default SRLB range is 15000 to 15999.

Command Modes

XR Config mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

When you define a new SRLB range, there might be a label conflict (for example, if labels are already allocated, statically or dynamically, in the new SRLB range). In this case, the new SRLB range will be accepted, but not applied (pending). The previous SRLB range (active) will continue to be in use until one of the following occurs:

  • Reload the router to release the currently allocated labels and allocate the new SRLB

  • Use the clear segment-routing local-block discrepancy all command to clear the label conflicts

The SRLB size cannot be more than 262,143.

To keep the segment routing configuration simple and to make it easier to troubleshoot segment routing issues, we recommend that you use the default SRLB range on each node in the domain. However, there are instances when you might need to define a different range:

  • The nodes of another vendor support a label range that is different from the default SRLB, and you want to use the same SRLB on all nodes.

  • The default range is too small.

Because the values assigned from the range have domain-wide significance, we recommend that all routers within the domain be configured with the same range of values.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to configure the SRLB range:


RP/0/RSP0/CPU0:router(config)# segment-routing local-block 18000 19999

segment-routing mapping-server

To configure the segment routing mapping server (SRMS), use the segment-routing mapping-server command in XR Config mode.

segment-routing mapping-server prefix-sid-map address-family{ ipv4 | ipv6} ip_address/ subnet_mask SID_start_value range range

Syntax Description

address-family{ ipv4 | ipv6}

Configures the address family for IS-IS.

ip_address/ subnet_mask

Specifies the prefix and mask.

SID_start_value

Specifies the first prefix SID in the range.

range range

Specifies the size of the range.

Command Default

None

Command Modes

XR Config mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

The position of the mapping server in the network is not important. However, since the mapping advertisements are distributed in IGP using the regular IGP advertisement mechanism, the mapping server needs an IGP adjacency to the network.

The role of the mapping server is crucial. For redundancy purposes, you should configure multiple mapping servers in the networks.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to configure the mapping server and add prefix-SID mapping entries in the active local mapping policy:


RP/0/RSP0/CPU0:router(config)# segment-routing mapping-server prefix-sid-map address-family ipv4 10.1.1.1/32 17000 range 100

segment-routing mpls

To enable segment routing for IPv4 addresses with MPLS data plane, use the segment-routing mpls command in IPv4 address family configuration mode. To disable segment routing, use the no form of this command.

segment-routing mpls

Syntax Description

mpls

Enables segment routing for IPv4 addresses with MPLS data plane.

Command Default

No default behavior or values.

Command Modes

IPv4 address family configuration

Router configuration

Area configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to enable segment routing with MPLS data plane.


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router isis 100
RP/0/RSP0/CPU0:router(config-isis)# address-family ipv4 unicast
RP/0/RSP0/CPU0:router(config-isis-af)# segment-routing mpls

segment-routing prefix-sid-map advertise-local

To enable the router to advertise the segment routing mapping server (SRMS) entries that are locally configured, use the segment-routing prefix-sid-map advertise-local command. In addition to advertising these local SRMS entries, these mapping entries are also used to calculate segment ID (SID).

segment-routing prefix-sid-map advertise-local

Syntax Description

advertise-local

Advertises the SRMS mapping entries that are locally configured.

Command Default

Disabled.

Command Modes

IPv4 address family configuration

Router configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

ospf

isis

read, write

Examples

This example shows how to enable the router to advertise the locally configured SRMS entries:


RP/0/RSP0/CPU0:router# configure
RP/0/RSP0/CPU0:router(config)# router ospf 1
RP/0/RSP0/CPU0:router(config-ospf)# segment-routing prefix-sid-map advertise-local

segment-routing prefix-sid-map receive disable

To disable mapping client functionality, use the segment-routing prefix-sid-map receive disable command. To reenable client functionality, use the segment-routing prefix-sid-map receive command.

segment-routing prefix-sid-map receive [ disable]

Syntax Description

receive

Only remote SRMS mapping entries are used for SID calculation.

disable

Disable remote SRMS mapping entries received by flooding.

Command Default

Enabled.

Command Modes

IPv4 address family configuration

Router configuration

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

The mapping client functionality is enabled by default. When you disable client functionality, the SRMS active policy is calculated without remote SRMS entries.

You can use this command with the segment-routing prefix-sid-map advertise-local command simultaneously.

Task ID

Task ID Operation

ospf

isis

read, write

Examples

This example shows how to disable the mapping server client functionality:


RP/0/RSP0/CPU0:router(config)# router isis 1
RP/0/RSP0/CPU0:router(config-isis)# address-family ipv4 unicast
RP/0/RSP0/CPU0:router(config-isis-af)# segment-routing prefix-sid-map receive disable

segment-routing traffic-eng explicit

To detect the liveness of the reverse path of the segment list and the configure the segment list, use the segment-routing traffic-eng explicit command in performance measurement configuration mode. To disable the reverse path, use the no form of the command.

segment-routing traffic-eng explicit { reverse-path segment-list name segment-list-name | segment-list name segment-list-name reverse-path segment-list name segment-list-name }

Syntax Description

reverse-path

Specifes the return path on the endpoint for liveness detection.

segment-listname segment-list-name

Specifes the segment list on the endpoint for liveness detection and delay.

Command Default

None

Command Modes

Performance measurement endpoint submode

Command History

Release Modification
Release 24.2.11

This command was introduced.

Usage Guidelines

The default reverse path configured under endpoint submode is only used for sessions with segment list. The endpoint session without a segment list does not support reverse path configuration and will not use this reverse path.

The reverse-path under the performance-measurement endpoint is used as the default reverse path if there are no reverse paths configured under a segment list.

Use the reverse-path under the performance-measurement endpoint segment-routing traffic-eng explicit segment-list name fwd-path to configure reverse path under a segment list.

The reverse type must be the same as the forward path. Using different types for forward and reverse paths is not supported. For example, uSID forward path and uSID reverse path; MPLS forward path and MPLS reverse path.

User-configured segment-list can also represent the reverse path (reflector to sender) when probe is configured in liveness detection mode. Up to 128 segment-lists can be configured under a probe. An additional PM session is created for each segment-list. Segment-lists are configured under segment-routing traffic-eng segment-list submode. See SR-TE Policy with Explicit Path for details about configuring segment lists.

Examples

The following example shows how to configure liveness of the reverse path of the segment list:

The following example shows how to configure liveness reverse path under segment list and under endpoint:

Router(config)#performance-measurement
Router(config-perf-meas)#endpoint ipv6 ff::2

/* Configure reverse path segment-list with forward segment-list*\
Router(config-pm-ep)#segment-routing traffic-eng explicit segment-list name fwd-path
Router(config-pm-ep-sl)#reverse-path segment-list name rev-path
Router(config-pm-ep-sl)#exit

/* Configure reverse-path segment list on the endpoint*\
Router(config-pm-ep)# segment-routing traffic-eng explicit reverse-path segment-list name rev-path-name

show isis segment-routing prefix-sid-map

To verify the active and backup prefix-to-SID mappings for IS-IS, use the show isis segment-routing prefix-sid-map command in XR EXEC mode.

show isis segment-routing prefix-sid-map [ active-policy | backup-policy]

Syntax Description

active-policy

(Optional) Specifies the active mapping policy.

backup-policy

(Optional) Specifies the backup mapping policy.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

isis

read

Examples

The example shows how to verify the active mapping policy on IS-IS:


RP/0/0/CPU0:router# show isis segment-routing prefix-sid-map active-policy

IS-IS 1 active policy
Prefix               SID Index    Range        Flags
1.1.1.100/32         100          20          
1.1.1.150/32         150          10          

Number of mapping entries: 2

The example shows how to verify the backup mapping policy on IS-IS:


RP/0/0/CPU0:router# show isis segment-routing prefix-sid-map backup-policy

IS-IS 1 backup policy
Prefix               SID Index    Range        Flags
1.1.1.100/32         100          20          
1.1.1.150/32         150          10          

Number of mapping entries: 2

show mrib nsf private

To display the state of nonstop forwarding (NSF) operation in the Multicast Routing Information Base (MRIB), use the show mrib nsf private command in the appropriate mode.

show mrib nsf private

Syntax Description

show mrib nsf private

Displays the state of NSF operation in the MRIB.

Command Default

None

Command Modes

XR EXEC mode

Table 3. Release History

Release

Modification

Release 7.10.1

This command was introduced.

Usage Guidelines

To use this command, you must be in a user group associated with a task group that includes appropriate task IDs. If the user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

The show mrib nsf private command displays the current multicast NSF state for the MRIB. The state may be normal or activated for NSF. The activated state indicates that recovery is in progress due to a failure in MRIB or Protocol Independent Multicast (PIM). The total NSF timeout and time remaining are displayed until NSF expiration.

Table 4. Task ID

Release

Modification

multicast

read

Examples

The example shows how to verify the Non Stop Forwarding:

Router#show mrib nsf private 
IP MRIB Non-Stop Forwarding Status:
Multicast routing state: Normal
   NSF Lifetime:       00:03:00
   Respawn Count: 6
   Last NSF On triggered: Tue Jul 25 13:20:49 2023, 6d00h
   Last NSF Off triggered: Tue Jul 25 13:22:49 2023, 6d00h
   Last NSF ICD Notification sent: Tue Jul 25 13:22:49 2023, 6d00h
   Last Remote NSF On triggered: Tue Jul 25 13:10:18 2023, 6d00h
   Last Remote NSF Off triggered: Tue Jul 25 13:10:27 2023, 6d00h
   Last Label TE NSF On triggered: Tue Jul 25 13:10:18 2023, 6d00h
   Last Label TE NSF Off triggered: Tue Jul 25 13:10:27 2023, 6d00h
   Last Label mLDP NSF On triggered: Tue Jul 25 13:10:18 2023, 6d00h
   Last Label mLDP NSF Off triggered: Tue Jul 25 13:10:27 2023, 6d00h
   Last Label PIM NSF On triggered: Tue Jul 25 13:20:49 2023, 6d00h
   Last Label PIM NSF Off triggered: Tue Jul 25 13:22:49 2023, 6d00h
   Last Label PIM6 NSF On triggered: Tue Jul 25 13:31:22 2023, 5d23h
   Last Label PIM6 NSF Off triggered: Tue Jul 25 13:33:22 2023, 5d23h
   Last Label XTC NSF On triggered: Tue Jul 25 13:41:51 2023, 5d23h
   Last Label XTC NSF Off triggered: Tue Jul 25 13:41:52 2023, 5d23h

IP NSF :- Active: N, Assume N
MRIB connect timer: Inactive
NSF statistics:
   Enabled Cnt - 4, Disabled Cnt - 4
   Last Enabled: 6d00h, Last Disabled: 6d00h
Multicast COFO routing state: Normal
Current LMRIB clients: LDP RSVP_TE PIM PIM6 XTC 
LMRIB NSF clients: LDP RSVP_TE PIM PIM6 XTC 
Converged LMRIB clients: LDP RSVP_TE PIM PIM6 XTC 
RP/0/RSP0/CPU0:tb8-R2#



show ospf route flex-algo

To display the OSPF routing table for flexible algorithm, use the show ospf routes flex-algo command in the EXEC mode.

show ospf routes flex-algo [number] [ prefix / prefix_len | route-type { external | inter | intra } ] [backup-path] [detail]

Syntax Description

number

Specifies the flexible algorithm number. The range is from 128 to 255.

IP address/prefix

Specifies IP address along with the subnet mask.

backup-path

Displays the backup-path information of the OSPF routes.

detail

Displays the detailed information of the OSPF routes.

route-type external

Displays OSPF external routes.

route-type inter

Display OSPF inter area routes.

route-type intra

Displays OSPF intra area routes.

Command Default

None

Command Modes

EXEC mode

Command History

Release Modification
Release 7.5.1

This command was introduced.

Usage Guidelines

Use the show ospf routes flex-algo command to display the OSPF private routing table for flexible algorithm (which contains only flexible algorithm routes calculated by OSPF). If there is something wrong with a route in the MPLS forwarding table and RIB, then it is useful to check the OSPF copy of the route to determine if it matches the RIB and MPLS forwarding entries. If it does not match, there is a synchronization problem between OSPF and the MPLS. If the routes match and the route is incorrect, OSPF has made an error in its routing calculation.

Examples

This following show output displays the external route type configured:


Router#show ospf routes flex-algo 240 route-type external detail 
Route Table of ospf-1 with router ID 192.168.0.2 (VRF default)
 
  Algorithm 240
 
  Route entry for 192.168.4.3/32, Metric 220, SID 536, Label 16536
   Priority : Medium
 
     Route type : Extern Type 1     
Last updated : Apr 25 14:30:12.718
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 536
      From 192.168.0.4 Route-type 5
      Total Metric : 220 Base metric 20 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
      Path: 10.1.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
      Path: 10.2.1.5, from 192.168.0.4, via GigabitEthernet0/2/0/4
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
  Route entry for 192.168.4.5/32, Metric 120, SID 556, Label 16556
   Priority : Medium
 
     Route type : Extern Type 1
     Last updated : Apr 25 14:30:12.724
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 556
      From 192.168.0.3 Route-type 5
      Total Metric : 120 Base metric 1 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2
       Out Label  : 16556
       Weight     : 0
       Area       : 0
 
      Path: 10.1.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3
       Out Label  : 16556
       Weight     : 0
       Area       : 0

The following show output displays label information for flexible algorithm and its corresponding metric as added in RIB:

RP/0/RP0/CPU0:ios# show route 192.168.0.2/32 detail
Wed Apr  6 16:24:46.021 IST
 
Routing entry for 192.168.0.2/32
  Known via "ospf 1", distance 110, metric 2, labeled SR, type intra area
  Installed Apr  6 15:51:57.973 for 00:32:48
  Routing Descriptor Blocks
    10.10.10.2, from 192.168.0.2, via GigabitEthernet0/2/0/0, Protected
      Route metric is 2
      Label: 0x3 (3)
      Tunnel ID: None
      Binding Label: None
      Extended communities count: 0
      Path id:1       Path ref count:0
      NHID:0x1(Ref:1)
      Backup path id:65
      OSPF area: 1
    10.11.11.2, from 192.168.0.2, via GigabitEthernet0/2/0/1, Backup (Local-LFA)
      Route metric is 6
      Label: 0x3 (3)
      Tunnel ID: None
      Binding Label: None
      Extended communities count: 0
      Path id:65              Path ref count:1
      NHID:0x2(Ref:1)
      OSPF area:
  Route version is 0x12 (18)
  Local Label: 0x3ee6 (16102)
  Local Label Algo Set (ID, Label, Metric): (1, 16202, 0),(128, 17282, 2)
  IP Precedence: Not Set
  QoS Group ID: Not Set
  Flow-tag: Not Set
  Fwd-class: Not Set
  Route Priority: RIB_PRIORITY_NON_RECURSIVE_MEDIUM (7) SVD Type RIB_SVD_TYPE_LOCAL
  Download Priority 1, Download Version 38
  No advertising protos.

The following example shows the backup path for each path:


Router#show ospf routes flex-algo 240 route-type external backup-path  
    
 
Route Table of ospf-1 with router ID 192.168.0.2 (VRF default)
 
  Algorithm 240
 
  192.168.4.3/32, Metric 220, SID 536, Label 16536
      10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2
           Backup path:
              10.23.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Interface Disjoint, SRLG Disjoint
      10.1.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3
           Backup path:
              10.23.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Interface Disjoint, SRLG Disjoint
      10.1.1.5, from 192.168.0.4, via GigabitEthernet0/2/0/4
           Backup path:
              10.23.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Node Protect, Interface Disjoint, SRLG Disjoint
  192.168.4.5/32, Metric 120, SID 556, Label 16556
      10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2
           Backup path:
              10.23.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3,
              Out Label: 16556
              Attributes: Metric: 120, Primary , Downstream, Interface Disjoint, SRLG Disjoint
      10.1.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3
           Backup path:
              10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2,
              Out Label: 16556
              Attributes: Metric: 120, Primary , Downstream, Interface Disjoint, SRLG Disjoint

The following example shows details of the route, but not the backup paths:


Router#show ospf routes flex-algo 240 route-type external detail   
   
Route Table of ospf-1 with router ID 192.168.0.2 (VRF default)
 
  Algorithm 240
 
  Route entry for 192.168.4.3/32, Metric 220, SID 536, Label 16536
   Priority : Medium
 
     Route type : Extern Type 1
     Last updated : Apr 25 14:30:12.718
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 536
      From 192.168.0.4 Route-type 5
      Total Metric : 220 Base metric 20 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
      Path: 10.1.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
      Path: 10.2.1.5, from 192.168.0.4, via GigabitEthernet0/2/0/4
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
  Route entry for 192.168.4.5/32, Metric 120, SID 556, Label 16556
   Priority : Medium
 
     Route type : Extern Type 1
     Last updated : Apr 25 14:30:12.724
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 556
      From 192.168.0.3 Route-type 5
      Total Metric : 120 Base metric 1 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2
       Out Label  : 16556
       Weight     : 0
       Area       : 0
 
      Path: 10.1.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3
       Out Label  : 16556
       Weight     : 0
       Area       : 0

The following example shows details of the route and backup paths:


Router#show ospf routes flex-algo 240 route-type external backup-path detail 
  
Route Table of ospf-1 with router ID 192.168.0.2 (VRF default)
 
  Algorithm 240
 
  Route entry for 192.168.4.3/32, Metric 220, SID 536, Label 16536
   Priority : Medium
 
     Route type : Extern Type 1
     Last updated : Apr 25 14:30:12.718
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 536
      From 192.168.0.4 Route-type 5
      Total Metric : 220 Base metric 20 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
           Backup path:
              10.1.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Interface Disjoint, SRLG Disjoint
 
      Path: 23.23.2.3, from 192.168.0.4, via GigabitEthernet0/2/0/3
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
           Backup path:
              10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Interface Disjoint, SRLG Disjoint
 
      Path: 25.25.1.5, from 192.168.0.4, via GigabitEthernet0/2/0/4
       Out Label  : 16536
       Weight     : 0
       Area       : 0
 
           Backup path:
              10.1.1.3, from 192.168.0.4, via GigabitEthernet0/2/0/2,
              Out Label: 16536
              Attributes: Metric: 220, Primary , Downstream, Node Protect, Interface Disjoint, SRLG Disjoint
 
  Route entry for 192.168.4.5/32, Metric 120, SID 556, Label 16556
   Priority : Medium
 
     Route type : Extern Type 1
     Last updated : Apr 25 14:30:12.724
     Flags: Inuse
 
     Prefix Contrib Algo 240 SID 556
      From 192.168.0.3 Route-type 5
      Total Metric : 120 Base metric 1 FAPM 20
      Contrib Flags : Inuse, Reachable
      SID Flags : PHP off, Index, Global, Valid
 
      Path: 10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2
       Out Label  : 16556
       Weight     : 0
       Area       : 0
 
           Backup path:
              10.1.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3,
              Out Label: 16556
              Attributes: Metric: 120, Primary , Downstream, Interface Disjoint, SRLG Disjoint
 
      Path: 10.1.2.3, from 192.168.0.3, via GigabitEthernet0/2/0/3
       Out Label  : 16556
       Weight     : 0
       Area       : 0
 
           Backup path:
              10.1.1.3, from 192.168.0.3, via GigabitEthernet0/2/0/2,
              Out Label: 16556
              Attributes: Metric: 120, Primary , Downstream, Interface Disjoint, SRLG Disjoint

show ospf segment-routing prefix-sid-map

To verify the active and backup prefix-to-SID mappings for OSPF, use the show ospf segment-routing prefix-sid-map command in XR EXEC mode.

show ospf segment-routing prefix-sid-map [ active-policy | backup-policy]

Syntax Description

active-policy

(Optional) Specifies the active mapping policy.

backup-policy

(Optional) Specifies the backup mapping policy.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

ospf

read

Examples

The example shows how to verify the active mapping policy on OSPF:


RP/0/0/CPU0:router# show ospf segment-routing prefix-sid-map active-policy

        SRMS active policy for Process ID 1

Prefix               SID Index    Range        Flags
1.1.1.100/32         100          20          
1.1.1.150/32         150          10           

Number of mapping entries: 2

The example shows how to verify the backup mapping policy on OSPF:


RP/0/0/CPU0:router# show ospf segment-routing prefix-sid-map backup-policy

        SRMS backup policy for Process ID 1

Prefix               SID Index    Range        Flags
1.1.1.100/32         100          20          
1.1.1.150/32         150          10          

Number of mapping entries: 2

show performance-measurement history

To display the history for delay-measurement, use the performance-measurement history show command in XR EXEC mode.

show performance-measurement history { probe-computation | advertisement | aggregation } { interfaces | endpoint | rsvp-te | sr-policy }

Syntax Description

probe-computation

(Optional) Displays information for the delay metric computation result within each probe interval.

advertisement

(Optional) Displays information for the delay metric computation result within each advertisement interval.

aggregation

(Optional) Displays information for the delay metric computation result within each aggregation interval.

interface

(Optional) Displays information on the specified interface.

endpoint

(Optional) Displays information on the specified endpoint.

rsvp-te

(Optional) Displays information on the specified Resource Reservation Protocol - Traffic Engineering (RSVP-TE).

sr-policy

(Optional) Displays information on the specified sr-policy.

Command Default

No default

Command Modes

XR EXEC

Command History

Release Modification
Release 24.1.1

This command was updated with synthetic and anomaly loss information.

Release 7.3.1

This command was introduced.

Task ID

Task ID Operation

performance-measurement

write/read

Examples


Router# show performance-measurement history probe-computation interfaces
Interface Name: GigabitEthernet0/2/0/0 (ifh: 0x1000020)
Delay-Measurement history (uSec):
  Probe Start Timestamp     Pkt(TX/RX)   Average       Min       Max
  Aug 01 2023 08:04:15.230       10/10       704       651       779


Router# show performance-measurement history probe-computation endpoint
Endpoint name: IPv4-192.168.0.4-vrf-default
  …
  Segment-List              : None
    Delay-Measurement history (uSec):
      Probe Start Timestamp     Pkt(TX/RX)   Average       Min       Max
      Aug 01 2023 08:26:48.823       10/10      3399      2962      3808


Router# show performance-measurement history aggregation rsvp-te
...
Delay-Measurement history (uSec):
      Aggregation Timestamp     Pkt(TX/RX)   Average       Min       Max
      Aug 01 2023 08:37:23.702       40/40      3372      3172      4109


Router# show performance-measurement history advertisement sr-policy
...
Delay-Measurement history (uSec):
          Advertisement Timestamp   Pkt(TX/RX)   Average       Min       Max        Reason
          Aug 01 2023 10:05:14.072       24/24      3408      3408      3408     ACCEL-MAX
Table 5. This table gives show performance-measurement history field descriptions:

Field

Description

TX

Number of packets sent.

RX

Number of packets received.

Average

Average delay of all the delay measures within one probe.

Max

Maximum delay of all the delay measures within one probe.

Min

Minimum delay of all the delay measures within one probe.

Reason

Provides the reason for the delay in packets:"

  • NONE : No advertisements occurred

  • PER-AVG : Periodic timer, average delay threshold crossed

  • PER-MIN : Periodic timer, min delay threshold crossed

  • PER-MAX : Periodic timer, max delay threshold crossed

  • ACCEL-AVG : Accelerated threshold crossed, average delay threshold crossed

  • ACCEL-MIN : Accelerated threshold crossed, min delay threshold crossed

  • ACCEL-MAX : Accelerated threshold crossed, max delay threshold crossed

  • ACCEL-UP-AVG : Accelerated threshold crossed, average delay upper-bound crossed

  • ACCEL-UP-MIN : Accelerated threshold crossed, min delay upper-bound crossed

  • ACCEL-UP-MAX : Accelerated threshold crossed, max delay upper-bound crossed

  • ANOM-MIN-DYN : Min delay A flag toggled and dynamic delay is in effect

  • ANOM-MIN-STA : Min delay A flag toggled and static delay is in effect

  • FIRST : First advertisement

  • NEW-SESSION : New child session

  • ENABLE : Advertisement enabled

  • DISABLE : Advertisement disabled

  • DELETE : Session deleted

  • EXEC-CLEAR : Cleared through exec command

  • ADV-CFG : Advertise delay config

  • ADV-UNCFG : Advertise delay unconfig

  • ERROR : Control code error

  • LINK-DOWN : Link state changed to down

  • SESSION-ERROR : Performance measurement session error

  • DYN-DM : Dynamic delay advertisement is in effect

  • PT-CFG : Path tracing config

  • PT-UNCFG : Path tracing unconfig

  • PT-INTF_READY : Path tracing interface ready

  • PKT-LOSS : Packet loss detected

  • ANOM-PKT-LOSS : PM session anomaly due to packet loss

  • N/A : Invalid advertisement reason

show segment-routing srv6 sid

You can use the show segment-routing srv6 sid command to verify the SRv6 global and locator configuration.

show segment-routing srv6 sid

Syntax Description

This command has no keywords or arguments.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.8.1

This command output was modified.

Release 7.0.12

This command was introduced.

Usage Guidelines

The command displays SID information across locators. By default, only “active” (i.e. non-stale) SIDs are displayed.

From IOS XR Release 7.8.1, IOS XR nodes with SRv6 Micro-SID F3216 format will accept and allow service SIDs received from non-IOS XR node peers with SRv6 base F128. Non-IOS XR node peers can be without SID Struct TLV (SSTLV), or with an incompatible SSTLV having an SID that is F3216 compatible. This allows for interoperability without any IETF extension or configuration changes on the Non-IOS XR peer node.

The following example shows how to display detailed information on the remote side, with the allocation type:

Router# show segment-routing srv6 locator usid sid fccc:ccc1:1:e00f:: 
 Mon Dec 13 15:58:53.640 EST
 SID                         Behavior          Context                           Owner               State  RW
 --------------------------  ----------------  ------------------------------    ------------------  -----  --
 fccc:ccc1:1:e00f::          uDT46             '**iid'                           rib_lib_test_xtf    InUse  Y
   SID Function: 0xe00f
   SID context: { '**iid' }
     App data: [0000000000000000]
   Locator: 'usid'
   Allocation type: Dynamic | Explicit

show segment-routing local-block inconsistencies

Displays any segment routing local block (SRLB) label inconsistencies.

show segment-routing local-block inconsistencies

Syntax Description

This command has no keywords or arguments.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

When a new SRLB range is defined, there might be a label conflict (for example, if labels are already allocated, statically or dynamically, in the new SRLB range). In this case, the new SRLB range will be accepted, but not applied (pending). The previous SRLB range (active) will continue to be in use until one of the following occurs:

  • Reload the router to release the currently allocated labels and allocate the new SRLB

  • Use the clear segment-routing local-block discrepancy all command to clear the label conflicts

Task ID

Task ID Operation

Examples

This example shows how to display the SRGB inconsistencies:


RP/0/RSP0/CPU0:router(config)# show segment-routing local-block inconsistencies
Tue Aug 15 13:53:30.555 EDT
SRLB inconsistencies range: Start/End: 30000/30009

show segment-routing mapping-server prefix-sid-map

To verify the locally configured prefix-to-SID mappings, use the show segment-routing mapping-server prefix-sid-map command in XR EXEC mode.

show segment-routing mapping-server prefix-sid-map [ ipv4 | ipv6] [ prefix] [ detail]

Syntax Description

ipv4

(Optional) Specifies an IPv4 address family.

ipv6

(Optional) Specifies an IPv6 address family.

prefix

(Optional) Specifies a prefix.

detail

(Optional) Displays detailed information on the prefix-to-SID mappings.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

read

Examples

The example shows how to verify the IPv4 prefix-to-SID mappings:


RP/0/0/CPU0:router# show segment-routing mapping-server prefix-sid-map ipv4
Prefix               SID Index    Range        Flags
20.1.1.0/24          400          300          
10.1.1.1/32          10           200          
Number of mapping entries: 2

The example shows how to display detailed information on the IPv4 prefix-to-SID mappings:


RP/0/0/CPU0:router# show segment-routing mapping-server prefix-sid-map ipv4 detail
Prefix
20.1.1.0/24
    SID Index:      400
    Range:          300
    Last Prefix:    20.2.44.0/24
    Last SID Index: 699
    Flags:          
10.1.1.1/32
    SID Index:      10
    Range:          200
    Last Prefix:    10.1.1.200/32
    Last SID Index: 209
    Flags:          
Number of mapping entries: 2

traceroute mpls nil-fec labels

To check network connectivity and identify LSP breakages, use the traceroute mpls nil-fec labels command in XR EXEC mode.

traceroute mpls nil-fec labels { label[ ,label...] } [ output { interface tx-interface} [ nexthop next-hop-ip-address]]

Syntax Description

labels label,label...

Specifies the label stack. Use commas to separate the each label.

ouput interface tx-interface

Specifies the output interface.

nexthop next-hop-ip-address

(Optional) Causes packets to go through the specified next-hop address.

Command Default

None

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID Operation

mpls-te

read, write

Examples

This example shows how to check connectivity for a known label stack using a specific output interface and next-hop address:


RP/0/RSP0/CPU0:router# traceroute mpls nil-fec labels 16005,16007 output interface GigabitEthernet 0/2/0/1 nexthop 10.1.1.4
Tracing MPLS Label Switched Path with Nil FEC labels 16005,16007, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 10.1.1.3 MRU 1500 [Labels: 16005/16007/explicit-null Exp: 0/0/0]
L 1 10.1.1.4 MRU 1500 [Labels: implicit-null/16007/explicit-null Exp: 0/0/0] 1 ms
L 2 10.1.1.5 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 1 ms
! 3 10.1.1.7 1 ms

traceroute sr-mpls

To trace the routes to a destination in a segment routing network, use the traceroute sr-mpls command in XR EXEC mode.

traceroute sr-mpls { ipv4-address/mask | ipv6-address/mask [ fec-type { bgp | generic | igp { ospf | isis } } ] | multipath { ipv4-address/mask | ipv6-address/mask [ fec-type { bgp | generic | igp { ospf | isis } } } | nil-fec | dataplane-only { labels { label1 [ , label2... ] ipv4-address/mask | ipv6-address/mask | policy } } { output { interface interface-path-id } } { nexthop next-hop-ip-address } }

Syntax Description

ipv4 address/mask or ipv6 address/mask

Address prefix of the target and number of bits in the target address network mask.

fec-type

(Optional) Specifies FEC type to be used. Default FEC type is generic.

bgp

Use FEC type as BGP.

generic

Use FEC type as generic.

igp

Use FEC type as OSPF or ISIS.

labels label,label...

Specifies the label stack. Use commas to separate each label.

dataplane-only

Specifies data plane validation without running actual traffic over LSPs.

output interface interface-path-id

Specifies the output interface where echo request packets are sent.

nexthop next-hop-ip-address

Causes packets to go through the specified IPv4 or IPv6 next-hop address.

Command Default

fec-type : generic

Command Modes

XR EXEC mode

Command History

Release

Modification

Release 24.2.11

The dataplane-only keyword was introduced.

Support for IPv6 next-hop address was added.

Release 7.0.12

This command was introduced.

Usage Guidelines

No specific guidelines impact the use of this command.

Task ID

Task ID

Operations

mpls-te

read, write

Examples

Example

These examples show how to use segment routing traceroute to trace the LSP for a specified IPv4 prefix segment routing id (SID). In the first example, FEC type is not specified. You can also specify the FEC type as shown in the second example. The third example uses multipath traceroute to discover all the possible paths for a IPv4 prefix SID.

RP/0/RP0/CPU0:router# traceroute sr-mpls 10.1.1.2/32   
 
Tracing MPLS Label Switched Path to 10.1.1.2/32, timeout is 2 seconds
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
  0 10.12.12.1 MRU 1500 [Labels: implicit-null Exp: 0]
! 1 10.12.12.2 3 ms

RP/0/RP0/CPU0:router# traceroute sr-mpls 10.1.1.2/32  fec-type  igp ospf  
 
Tracing MPLS Label Switched Path to 10.1.1.2/32, timeout is 2 seconds
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
  0 10.12.12.1 MRU 1500 [Labels: implicit-null Exp: 0]
! 1 10.12.12.2 2 ms

RP/0/RP0/CPU0:router# traceroute sr-mpls multipath 10.1.1.2/32 
 
Starting LSP Path Discovery for 10.1.1.2/32
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
!
Path 0 found, 
 output interface GigabitEthernet0/0/0/2 nexthop 10.13.13.2
source 10.13.13.1 destination 127.0.0.0
!
Path 1 found, 
 output interface Bundle-Ether1 nexthop 10.12.12.2
source 10.12.12.1 destination 127.0.0.0
 
Paths (found/broken/unexplored) (2/0/0)
Echo Request (sent/fail) (2/0)
Echo Reply (received/timeout) (2/0)
Total Time Elapsed 14 ms

The following example shows how to use segment routing traceroute to validate SR-MPLS over IPv6-based LSPs:

Router#traceroute sr-mpls dataplane-only 2001:DB8::1/32
Tue Jan 16 15:08:54.681 EST
 
Tracing MPLS Label Switched Path with Nil FEC to 2001:DB8::1/32, timeout is 2 seconds
 
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0
 
Type escape sequence to abort.
 
  0 11:11:11::1 MRU 1500 [Labels: 18004/explicit-null Exp: 0/0]
L 1 11:11:11::2 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 3 ms
! 2 15:15:15::4 3 ms

The following example shows how to use segment routing traceroute for SR-TE policies with IPv6-based LSPs:

Router#traceroute sr-mpls nil-fec policy name srte_c_40_ep_2001:DB8::1
Tue Feb  6 12:07:38.295 EST

Tracing MPLS Label Switched Path with Nil FEC for SR-TE Policy srte_c_40_ep_2001:DB8::1, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

  0 12:12:12::1 MRU 1500 [Labels: 26134/explicit-null Exp: 0/0]
L 1 12:12:12::3 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 16 ms
! 2 16:16:16::4 16 ms

The following example shows how to use segment routing traceroute with labels using IPv6 LSPs:

Router#traceroute sr-mpls labels 18004 lsp-end-point 2001:DB8::1
Tue Feb  6 12:10:41.928 EST

Tracing MPLS Label Switched Path to NIL FEC with lsp end point 2001:DB8::1, SID Label(s) [18004], timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

  0 11:11:11::1 MRU 1500 [Labels: 18004/explicit-null Exp: 0/0]
L 1 11:11:11::2 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 7 ms
! 2 15:15:15::4 3 ms