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>
|
Select the IS-IS protocol type. |
mpls-te-database (deprecated)¶
Attention
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>
|
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>
|
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}
|
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>
|
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
|
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
|
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
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
|
Description |
---|---|
|
An IPv4 address. |
|
An IPv6 address. |
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
|
Description |
---|---|
|
An IPv4 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>
|
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>
|
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
|
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>
|
The color of the segment routing policy. |
|
Description |
---|---|
|
An IPv4 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
|
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
|
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>
|
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
|
Description |
---|---|
|
Set the explicit candidate path type which means that the candidate path is expressed as a segment list. |
|
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. |
|
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
|
Description |
---|---|
|
The minimum cost path constraint. |
|
The minimum load path constraint. |
|
The maximum residual bandwidth path constraint. |
|
Minimize the bandwidth aggregate. |
|
Minimize the cumulative cost. |
|
Minimize the load of the most loaded link. |
|
The shortest path tree constraint. |
|
The minimum cost tree constraint. |
|
The minimum path packet loss constraint. |
|
Minimize the number of Transit Domains. |
|
Minimize the number of border domains. |
|
Minimize the number of Common Transit Domains. |
|
Minimize the number of Shared Common Links. |
|
Minimize the number of Shared Risk Links Groups. |
|
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>
|
Description |
---|---|
|
Aggregate bandwidth consumption. |
|
Border Node Count metric. |
|
The domain count metric. |
|
The hop counts. |
|
The IGP cost. |
|
The load of the most loaded link. |
|
The maximum SID depth. |
|
The number of adaptations on a path. |
|
The number of layers on a path. |
|
The path delay metric. |
|
The path delay variation metric. |
|
The path loss metric. |
|
Cumulative IGP cost. |
|
The cumulative 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