segment-routing

Note

requires a Product License.

The segment routing configuration.

vsr running config# vrf <vrf> routing segment-routing

enabled

Enable the segment routing service.

vsr running config# vrf <vrf> routing segment-routing
vsr running segment-routing# enabled true|false

traffic-engineering

The traffic engineering configuration.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering

te-database

Use the traffic engineering database from the IGP routing protocol in the MPLS or in the SRv6 domain. The database contains information about the topology nodes and the links in one of those domain.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering te-database

enabled

Enable the traffic engineering database fill from the remote IGP data.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering te-database
vsr running te-database# enabled true|false
Default value
true

import

The list of IGP protocols used for remote data import.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering te-database import <import>

<import>

Select the IS-IS protocol type.

mpls-te-database (deprecated)

Attention

Deprecated since: 2024-02-14
Obsolete in release: 24q3
Description: mpls-te-database is deprecated. It has been replaced by te-database.
Replacement: te-database

Use the traffic engineering database from the IGP routing protocol in the MPLS domain. The database contains information about the topology nodes and the links in the MPLS domain.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering mpls-te-database

enabled (deprecated)

Enable the traffic engineering database fill from the remote IGP data.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering mpls-te-database
vsr running mpls-te-database# enabled true|false

import (deprecated)

The list of IGP protocols used for remote data import.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering mpls-te-database import <import>

<import>

Select the IS-IS protocol type.

flex-algorithm

Import the Flex-Algorithm information from the given routing instance. The segment routing service carries requests to a given routing instance that implements Flex-Algorithm service, by requesting to resolve an LSP path for a given endpoint in a given Flexible-Algorithm number.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering flex-algorithm

import

The list of IGP protocols to consider when requesting Flexible- Algorithm service.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering flex-algorithm import <import>

<import>

Select the IS-IS protocol type.

instance

Set the IS-IS routing instance.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering flex-algorithm import <import>
vsr running import <import># instance <string>

segment-list

Create the list of segments, each segment represents a specific source-routed path to send traffic, from the headend to to the endpoint of the corresponding segment routing policy.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64}

<string>{1,64}

The name of the segment list.

segment

Configure the segment. The segment stands for the segment identifier SID. It can be expressed either as an MPLS value or as an IPv6 address or as a generic identifier (NAI, IP adjacencies).

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32>

<uint32>

Set the segment index to identify the rank and the order of the segment.

sid-label

The MPLS label that identifies the network segment.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32>
vsr running segment <uint32># sid-label SID-LABEL

SID-LABEL

The 20-bit label value in an MPLS label stack as specified in RFC 3032. This label value does not include the encodings of traffic class and time to live (TTL). The label range specified by this type is for general use, with special-purpose MPLS label values excluded.

ipv6-sid

The SID IPv6 address that identifies the network segment.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32>
vsr running segment <uint32># ipv6-sid IPV6-SID

IPV6-SID

An IPv6 address.

nai

The segment node or adjacency identifier.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32> nai
adjacency

The NAI adjacency configuration. In the network segment the adjacency is defined by the IPs configured on the local and remote interfaces connected to that segment.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32> nai adjacency
source

The adjacency source IP address.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32> nai adjacency
vsr running adjacency# source SOURCE

SOURCE values

Description

<ipv4-address>

An IPv4 address.

<ipv6-address>

An IPv6 address.

destination

The adjacency destination IP address.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering segment-list <string>{1,64} segment <uint32> nai adjacency
vsr running adjacency# destination DESTINATION

DESTINATION values

Description

<ipv4-address>

An IPv4 address.

<ipv6-address>

An IPv6 address.

triggered-policies

Enable on demand policies from BGP, as defined in RFC9256, chapter 8.5. When BGP receives a colored route with a given next hop, BGP triggers a request to the segment routing traffic engineering service. A policy template matching the incoming colored route will be used to create a dynamic policy. A segment routing policy will be created and made available for the incoming BGP route.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies

binding-sid-range

The MPLS label range to use for allocating the BSIDs when instantiating segment routing policies triggered by BGP. The label range must not conflict with the SRGB and SRLB ranges chosen by the IGP used. Also, the BSIDs locally configured on the other segment routing policies must not conflict with the configured range.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies binding-sid-range
lower-bound

The binding segment identifier range lower bound.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies binding-sid-range
vsr running binding-sid-range# lower-bound <16-16777215>
Default value
24000
upper-bound

The binding segment identifier range upper bound.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies binding-sid-range
vsr running binding-sid-range# upper-bound <16-16777215>
Default value
25999

policy-template

Configure the segment routing policy template. It consists of a policy indexed by color that includes a dynamic candidate path. When BGP receives a colored route with a given next hop, and that color matches the color of the policy-template, then a dynamic segment routing policy configured for the next hop and the policy will be created.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32>

<uint32>

The color of the segment routing policy template.

name

The name of the segment routing policy template.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32>
vsr running policy-template <uint32># name <string>{1,54}
candidate-path

The list of candidate paths configured for the template policy. The candidate paths will be used when a request from BGP will match the color of the segment routing template policy.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32> candidate-path <uint32>

<uint32>

Set the preference value for the candidate path. If valid, the candidate-path with the highest preference value will be chosen.

name (mandatory)

The name of the policy template candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32> candidate-path <uint32>
vsr running candidate-path <uint32># name <string>{1,64}
type (mandatory)

Set the type of the policy template candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32> candidate-path <uint32>
vsr running candidate-path <uint32># type TYPE

TYPE

A Flex-Algorithm candidate path relies on the Flex-Algorithm implementation that an IGP provides. For a given endpoint, the IGP provides a segment-list obtained by the constrained SPF algorithm. The returned segment list dynamically adapts to routing changes.

algorithm (mandatory)

The Flex-Algorithm identifier of the policy template candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering triggered-policies policy-template <uint32> candidate-path <uint32>
vsr running candidate-path <uint32># algorithm <128-255>

policy

Configure the segment routing policy as defined in RFC9256, chapter 2. An SR policy is an instance that defines an LSP path between the local headend, and a given endpoint for a given colored traffic. The routes which share the same endpoint and that are marked with the same color, will follow the segment routing policy LSP path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint>

<uint32>

The color of the segment routing policy.

<endpoint> values

Description

<ipv4-address>

An IPv4 address.

<ipv6-address>

An IPv6 address.

name

The name of the segment routing policy.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint>
vsr running policy color <uint32> endpoint <endpoint># name <string>{1,64}

binding-sid

The binding segment identifier (BSID) of a segment routing policy, as per RFC9256, chapter 6. If set, this value will be used by the selected active candidate path. In MPLS domain, the value is an MPLS label value, and must not conflict with the SRGB and SRLB pools defined in the segment routing igp.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint>
vsr running policy color <uint32> endpoint <endpoint># binding-sid BINDING-SID

BINDING-SID

The 20-bit label value in an MPLS label stack as specified in RFC 3032. This label value does not include the encodings of traffic class and time to live (TTL). The label range specified by this type is for general use, with special-purpose MPLS label values excluded.

binding-ipv6-sid

The binding segment identifier (BSID) of a segment routing policy, as per RFC9256, chapter 6. If set, this value will be used by the selected active candidate path. In SRv6 domain, the value is an IPv6 address.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint>
vsr running policy color <uint32> endpoint <endpoint># binding-ipv6-sid BINDING-IPV6-SID

BINDING-IPV6-SID

An IPv6 address.

status (state only)

The status of the traffic engineering policy. An ‘active’ policy implies that a segment list is available in the segment routing dataplane. The possible values are Active and Inactive.

vsr> show state vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> status

candidate-path

The list of candidate paths. A segment routing policy is associated with a list of one or more candidate paths. Each candidate path provides a segment list to the segment routing policy, which is either explicitly configured, or dynamically obtained via IGP information.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32>

<uint32>

Set the preference value for the candidate path. If valid, the candidate-path with the highest preference value is chosen.

name (mandatory)

The name of the candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32>
vsr running candidate-path <uint32># name <string>{1,64}
type (mandatory)

Set the type of the candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32>
vsr running candidate-path <uint32># type TYPE

TYPE values

Description

explicit

Set the explicit candidate path type which means that the candidate path is expressed as a segment list.

flex-algorithm

A Flex-Algorithm candidate path relies on the Flex-Algorithm implementation that an IGP provides. For a given endpoint, the IGP provides a segment-list obtained by the constrained SPF algorithm. The returned segment list dynamically adapts to routing changes.

dynamic

Establish a dynamic candidate path type by synchronizing candidate path information with a PCE controller. If configured, the PCE controller can take over the local PCC device, calculate and override the candidate path to the router.

algorithm (mandatory)

The Flex-Algorithm identifier for the candidate path.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32>
vsr running candidate-path <uint32># algorithm <128-255>
segment-list

The name of segment list to use as LSP.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32>
vsr running candidate-path <uint32># segment-list <leafref>
objective-function

An objective function is used by the PCE to process constraints to a path computation request when it computes a path in order to select the ‘best’ candidate paths. It corresponds to the optimization criteria used for the computation of one or multiple paths.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> objective-function
constraint

The the objective-function constraint type.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> objective-function
vsr running objective-function# constraint CONSTRAINT

CONSTRAINT values

Description

minimum-cost-path

The minimum cost path constraint.

minimum-load-path

The minimum load path constraint.

maximum-residual-bandwith-path

The maximum residual bandwidth path constraint.

minimize-aggregate-bandwidth

Minimize the bandwidth aggregate.

minimize-cumulative-cost

Minimize the cumulative cost.

minimize-loaded-link-load

Minimize the load of the most loaded link.

shortest-path-tree

The shortest path tree constraint.

minimum-cost-tree

The minimum cost tree constraint.

minimum-packet-loss-path

The minimum path packet loss constraint.

minimize-transit-domain-number

Minimize the number of Transit Domains.

minimize-border-domain-number

Minimize the number of border domains.

minimize-common-transit-domain

Minimize the number of Common Transit Domains.

minimize-shared-link-number

Minimize the number of Shared Common Links.

minimize-shared-srlgs-number

Minimize the number of Shared Risk Links Groups.

minimize-shared-node-number

Minimize the number of Shared Nodes.

required

Set the constraint as a requirement, by setting the ‘P’ flag of the objective-function header.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> objective-function
vsr running objective-function# required true|false
Default value
true
metric

The metric information that PCC sends to the PCE controller in PCReq message. It also includes some options to tell if the value should be read as a limit or not (‘bound’), processed (‘required’) or ignored, computed and submitted (‘computed’) in the forged response.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> metric <metric>

<metric> values

Description

aggregate-bandwidth-consumption

Aggregate bandwidth consumption.

border-node-count

Border Node Count metric.

domain-count

The domain count metric.

hop-count

The hop counts.

igp-cost

The IGP cost.

most-loaded-link-load

The load of the most loaded link.

msd

The maximum SID depth.

path-adaptation-number

The number of adaptations on a path.

path-layer-number

The number of layers on a path.

path-delay

The path delay metric.

path-delay-variation

The path delay variation metric.

path-loss

The path loss metric.

cumulative-igp-cost

Cumulative IGP cost.

cumulative-traffic-engineering-cost

The cumulative traffic engineering cost.

traffic-engineering-cost

The traffic engineering cost metric.

value (mandatory)

The value of the metric encoded in IEEE floating point format, as defined in IEEE.754.1985.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> metric <metric>
vsr running metric <metric># value <decimal64>
required

Set the metric as a requirement, by setting the ‘P’ flag of the metric header.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> metric <metric>
vsr running metric <metric># required true|false
Default value
true
bound

Defines if the value is a bound (a maximum) for the path metric that must not be exceeded.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> metric <metric>
vsr running metric <metric># bound true|false
Default value
false
computed

Defines if the value must be computed and provided by the PCE server, in PCRep messages, as defined in RFC5440, ch.7.8.

vsr running config# vrf <vrf> routing segment-routing traffic-engineering policy color <uint32> endpoint <endpoint> candidate-path <uint32> metric <metric>
vsr running metric <metric># computed true|false
Default value
false