Configuring MPLS and RSVP with CLI

This section provides information to configure MPLS and RSVP using the command line interface.

Topics in this section include:

MPLS Configuration Overview

Multiprotocol Label Switching (MPLS) enables routers to forward traffic based on a simple label embedded into the packet header. A router examines the label to determine the next hop for the packet, saving time for router address lookups to the next node when forwarding packets. MPLS is not enabled by default and must be explicitly enabled.

In order to implement MPLS, the following entities must be configured:

LSPs

To configure MPLS-signaled label-switched paths (LSPs), an LSP must run from an ingress router to an egress router. Configure only the ingress router and configure LSPs to allow the software to make the forwarding decisions or statically configure some or all routers in the path. The LSP is set up by Resource Reservation Protocol (RSVP), through RSVP signaling messages. The router automatically manages label values. Labels that are automatically assigned have values ranging from 1,024 through 1,048,575 (see Label Values).

A static LSP is a manually set up LSP where the nexthop IP address and the outgoing label are explicitly specified.

Paths

To configure signaled LSPs, you must first create one or more named paths on the ingress router. For each path, the transit routers (hops) in the path are specified.

Router Interface

At least one router interface and one system interface must be defined in the config>router>interface context in order to configure MPLS on an interface.

Choosing the Signaling Protocol

In order to configure a static or a RSVP signaled LSP, you must enable MPLS on the router, which automatically enables RSVP and adds the system interface into both contexts. Any other network IP interface, other than loopbacks, added to MPLS is also automatically enabled in RSVP and becomes a TE link.When the interface is enabled in RSVP, the IGP instance will advertise the Traffic Engineering (TE) information for the link to other routers in the network in order to build their TE database and compute CSPF paths. Operators must enable the traffic-engineering option in the ISIS or OSPF instance for this. Operators can also configure under the RSVP context of the interface the RSVP protocol parameters for that interface.

If only static label switched paths are used in your configurations, operators must manually define the paths through the MPLS network. Label mappings and actions configured at each hop must be specified. Operators can disable RSVP on the interface if it is used only for incoming or outgoing static LSP label by shutting down the interface in the RSVP context. The latter causes IGP to withdraw the TE link from its advertisement which removes it from its local and neighbors TE database.

If dynamic LSP signaling is implemented in an operator’s network then they must keep RSVP enabled on the interfaces they want to use for explicitly defined or CSPF calculated LSP path.

Basic MPLS Configuration

This section provides information to configure MPLS and configuration examples of common configuration tasks. To enable MPLS, you must configure at least one MPLS interface. The other MPLS configuration parameters are optional. This follow displays an example of an MPLS configuration.

ALA-1>config>router>if-attr# info
----------------------------------------------
admin-group "green" 15
admin-group "yellow" value 20
admin-group "red" value 25
----------------------------------------------
A:ALA-1>config>router>mpls# info
------------------------------------------
            interface "system"
            exit
            interface "StaticLabelPop"
                admin-group "green"
                label-map 50
                    pop
                    no shutdown
                exit
            exit
            interface "StaticLabelPop"
                label-map 35
                    swap 36 nexthop 10.10.10.91
                    no shutdown
                exit
            exit
            path "secondary-path"
                no shutdown
            exit
            path "to-NYC"
                hop 1 10.10.10.104  strict
                no shutdown
            exit
            lsp "lsp-to-eastcoast"
                to 10.10.10.104
                from 10.10.10.103
                fast-reroute one-to-one
                exit
                primary "to-NYC"
                exit
                secondary "secondary-path"
                exit
                no shutdown
            exit
            static-lsp "StaticLabelPush"
                to 10.10.11.105
                push 60 nexthop 10.10.11.105
                no shutdown
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>mpls#

Common Configuration Tasks

This section provides a brief overview of the tasks to configure MPLS and provides the CLI commands.

The following protocols must be enabled on each participating router.

  1. MPLS
  2. RSVP (for RSVP-signaled MPLS only), which is automatically enabled when MPLS is enabled.

In order for MPLS to run, you must configure at least one MPLS interface in the config>router>mpls context.

  1. An interface must be created in the config>router>interface context before it can be applied to MPLS.
  2. In the config>router>mpls context, configure path parameters for configuring LSP parameters. A path specifies some or all hops from ingress to egress. A path can be used by multiple LSPs.
  3. When an LSP is created, the egress router must be specified in the to command and at least one primary or secondary path must be specified. All other statements under the LSP hierarchy are optional.

Configuring Global MPLS Parameters

Admin groups can signify link colors, such as red, yellow, or green. MPLS interfaces advertise the link colors it supports. CSPF uses the information when paths are computed for constrained-based LSPs. CSPF must be enabled in order for admin groups to be relevant.

To configure MPLS admin-group parameters, enter the following commands:

CLI Syntax:
if-attribute
admin-group group-name value group-value
mpls
frr-object
resignal-timer minutes

The following displays an admin group configuration example:

ALA-1>config>router>if-attr# info
----------------------------------------------
admin-group "green" value 15 
admin-group "yellow" value 20 
admin-group "red" value 25 
----------------------------------------------
A:ALA-1>config>router>mpls# info
----------------------------------------------
            resignal-timer 500
...
----------------------------------------------
A:ALA-1>config>router>mpls#

Configuring an MPLS Interface

Configure the label-map parameters if the interface is used in a static LSP. To configure an MPLS interface on a router, enter the following commands:

CLI Syntax:
config>router>mpls
interface
no shutdown
admin-group group-name [group-name...(up to 32 max)]
label-map
pop
swap
no shutdown
srlg-group group-name [group-name...(up to 5 max)]
te-metric value

The following displays an interface configuration example:

A:ALA-1>config>router>mpls# info
----------------------------------------------
...
            interface "to-104"
                admin-group "green"
                admin-group "red"
                admin-group "yellow"
                label-map 35
                    swap 36 nexthop 10.10.10.91
                    no shutdown
                exit
            exit
            no shutdown
...
----------------------------------------------
A:ALA-1>config>router>mpls#

Configuring MPLS Paths

Configure an LSP path to use in MPLS. When configuring an LSP, the IP address of the hops that the LSP should traverse on its way to the egress router must be specified. The intermediate hops must be configured as either strict or loose meaning that the LSP must take either a direct path from the previous hop router to this router (strict) or can traverse through other routers (loose).

Use the following CLI syntax to configure a path:

CLI Syntax:
config>router> mpls
path path-name
hop hop-index ip-address {strict | loose}
no shutdown

The following displays a path configuration example:

A:ALA-1>config>router>mpls# info
------------------------------------------
            interface "system"
            exit
            path "secondary-path"
                hop 1 10.10.0.121  strict
                hop 2 10.10.0.145 strict
                hop 3 10.10.0.1 strict
                no shutdown
            exit
            path "to-NYC"
                hop 1 10.10.10.103 strict
                hop 2 10.10.0.210  strict
                hop 3 10.10.0.215  loose
            exit
------------------------------------------
A:ALA-1>config>router>mpls#

Configuring an MPLS LSP

Configure an LSP path for MPLS. When configuring an LSP, you must specify the IP address of the egress router in the to statement. Specify the primary path to be used. Secondary paths can be explicitly configured or signaled upon the failure of the primary path. All other statements are optional.

The following displays an MPLS LSP configuration:

A:ALA-1>config>router>mplp# info
----------------------------------------------
...
            lsp "lsp-to-eastcoast"
                to 192.168.200.41
                rsvp-resv-style ff
                cspf
                include "red"
                exclude "green"
                adspec
                fast-reroute one-to-one
                exit
                primary "to-NYC"
                    hop-limit 10
                exit
                secondary "secondary-path"
                    bandwidth 50000
                exit
                no shutdown
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>mpls#

Configuring a Static LSP

An LSP can be explicitly (statically) configured. Static LSPs are configured on every node along the path. The label’s forwarding information includes the address of the next hop router.

Use the following CLI syntax to configure a static LSP:

CLI Syntax:
config>router>mpls
static-lsp lsp-name
to ip-address
push out-label nexthop ip-addr
no shutdown

The following displays a static LSP configuration example:

A:ALA-1>config>router>mpls# info
----------------------------------------------
...
            static-lsp "static-LSP"
                to 10.10.10.124
                push 60 nexthop 10.10.42.3
                no shutdown
            exit
...
----------------------------------------------
A:ALA-1>config>router>mpls# 

Configuring Manual Bypass Tunnels

Consider the following network setup.

A----B----C----D

| |

E----F

The user first configures the option to disable the dynamic bypass tunnels on node B if required. The CLI for this configuration is:

config>router>mpls>dynamic-bypass [disable | enable]

By default, dynamic bypass tunnels are enabled.

Next, the user configures an LSP on node B, such as B-E-F-C to be used only as bypass. The user specifies each hop in the path, for example, the bypass LSP has a strict path.

Note that including the bypass-only keyword disables the following options under the LSP configuration:

  1. bandwidth
  2. fast-reroute
  3. secondary

The following LSP configuration options are allowed:

  1. adaptive
  2. adspec
  3. cspf
  4. exclude
  5. hop-limit
  6. include
  7. metric

The following example displays a bypass tunnel configuration:

A:ALA-48>config>router>mpls>path# info
-------------------------------------------
...
            path "BEFC"
                hop 10 10.10.10.11  strict
                hop 20 10.10.10.12  strict
                hop 30 10.10.10.13  strict
                no shutdown
            exit
 
 
            lsp "bypass-BC"
                to 10.10.10.15
                primary "BEFC"
                exit
                no shutdown
...
-------------------------------------------
A:ALA-48>config>router>mpls>path#

Next, the user configures an LSP from A to D and indicates fast-reroute bypass protection by selecting facility as the FRR method (config>router>mpls>lsp>fast-reroute facility). If the LSP goes through B, and bypass is requested, and the next hop is C, and there is a manually configured bypass-only tunnel from B to C, excluding link BC, then node B uses that.

Configuring and Operating SR-TE

This section provides information on the configuration and operation of the Segment Routing with Traffic Engineering (SR-TE) LSP.

SR-TE Configuration Prerequisites

To configure SR-TE, the user must first configure prerequisite parameters.

First, configure the label space partition for the Segment Routing Global Block (SRGB) for all participating routers in the segment routing domain by using the mpls-labels>sr-labels command.

Example:
mpls-labels
sr-labels start 200000 end 200400
exit

Enable segment routing, traffic engineering, and advertisement of router capability in all participating IGP instances in all participating routers by using the traffic-engineering, advertise-router-capability, and segment-routing commands.

Example:
ospf 0
traffic-engineering
advertise-router-capability area
loopfree-alternate remote-lfa
area 0.0.0.202
stub
no summaries
exit
interface "system"
node-sid index 194
no shutdown
exit
interface "toSim199"
interface-type point-to-point
no shutdown
exit
interface "toSim213"
interface-type point-to-point
no shutdown
exit
interface "toSim219"
interface-type point-to-point
metric 2000
no shutdown
exit
exit
segment-routing
prefix-sid-range global
no shutdown
exit
no shutdown
exit

Configure an segment routing tunnel MTU for the IGP instance, if required, by using the tunnel-mtu command.

Example:
prefix-sid-range global
tunnel-mtu 1500
no shutdown

Assign a node SID to each loopback interface that a router would use as the destination of a segment routing tunnel by using the node-sid command.

Example:
ospf 0
area 0.0.0.202
interface "system"
node-sid index 194
no shutdown
exit

SR-TE LSP Configuration Overview

An SR-TE LSP can be configured as a label switched path (LSP) using the existing CLI command hierarchy under the MPLS context and specifying the new sr-te LSP type.

CLI Syntax:
config>router>mpls>lsp lsp-name | mpls-tp src-tunnel-num | sr-te

As for an RSVP LSP, the user can configure a primary path.

Use the following CLI syntax to associate an empty path or a path with strict or loose explicit hops with the primary paths of the SR-TE LSP:

CLI Syntax:
config>router>mpls>path>hop hop-index ip-address {strict | loose}
config>router>mpls>lsp>primary path-name

Configuring Path Computation and Control for SR-TE LSP

Use the following syntax to configure the path computation requests only (PCE-computed) or both path computation requests and path updates (PCE-controlled) to PCE for a specific LSP:

CLI Syntax:
config>router>mpls>lsp>pce-computation
config>router>mpls>lsp>pce-control

The PCC LSP database is synchronized with the PCE LSP database using the PCEP PCRpt (PCE Report) message for LSPs that have the following commands enabled:

CLI Syntax:
config>router>mpls>pce-report sr-te {enable | disable}
config>router>mpls>lsp>pce-report {enable | disable | inherit}

Configuring Path Profile and Group for PCC-Initiated and PCE-Computed/Controlled LSP

The PCE supports the computation of disjoint paths for two different LSPs originating or terminating on the same or different PE routers. To indicate this constraint to PCE, the user must configure the PCE path profile ID and path group ID the LSP belongs to. These parameters are passed transparently by PCC to PCE and are thus opaque data to the router. Use the following syntax to configure the path profile and path group:

CLI Syntax:
config>router>mpls>lsp>path-profile profile-id [path-group group-id]

The association of the optional path group ID is to allow PCE determine which profile ID this path group ID must be used with. One path group ID is allowed per profile ID. The user can, however, enter the same path group ID with multiple profile IDs by executing this command multiple times. A maximum of five entries of path-profile [path-group] can be associated with the same LSP. More details of the operation of the PCE path profile are provided in the PCEP section of this guide.

Configuring SR-TE LSP Label Stack Size

Use the following syntax to configure the maximum number of labels which the ingress LER can push for a given SR-TE LSP:

CLI Syntax:
config>router>mpls>lsp>max-sr-labels label-stack-size

This command allows the user to reduce the SR-TE LSP label stack size by accounting for additional transport, service, and other labels when packets are forwarded in a given context. See Data Path Support for more information about label stack size requirements in various forwarding contexts. If the CSPF on the PCE or the router's hop-to-label translation could not find a path that meets the maximum SR label stack, the SR-TE LSP will remain on its current path or will remain down if it has no path. The range is 1-10 labels with a default value of 6.

Configuring Adjacency SID Parameters

Configure the adjacency hold timer for the LFA or remote LFA backup next-hop of an adjacency SID.

Use the following syntax to configure the length of the interval during which LTN or ILM records of an adjacency SID are kept:

CLI Syntax:
config>router>ospf>segment-routing>adj-sid-hold seconds[1..300, default 15]
config>router>isis>segment-routing>adj-sid-hold seconds[1..300, default 15]
Example:
adj-sid-hold 15
no entropy-label-capability
prefix-sid-range global
no tunnel-table-pref
no tunnel-mtu
no backup-node-sid
no shutdown

While protection is enabled globally for all node SIDs and local adjacency SIDs when the user enables the loopfree-alternate option in ISIS or OSPF at the LER and LSR, there are applications where the user wants traffic to never divert from the strict hop computed by CSPF for a SR-TE LSP. In that case, use the following syntax to disable protection for all adjacency SIDs formed over a given network IP interface:

CLI Syntax:
config>router>ospf>area>if>no sid-protection
config>router>isis>if>no sid-protection
Example:
node-sid index 194
no sid-protection
no shutdown

Configuring PCC-controlled, PCE-computed, and PCE-controlled SR-TE LSPs

The following example shows the configuration of PCEP PCC parameters on LER routers that require peering with the PCE server:

Example:
keepalive 30
dead-timer 120
no local-address
unknown-message-rate 10
report-path-constraints
peer 138.120.48.226
no shutdown
exit
no shutdown

The following example shows the configuration of a PCC-controlled SR-TE LSP that is not reported to PCE:

Example:
lsp "to-SanFrancisco" sr-te
to 38.120.48.211
cspf
pce-report disable
metric 10
primary "loose-anycast"
exit
no shutdown
exit

The following example shows the configuration of a PCC-controlled SR-TE LSP that is reported to PCE:

Example:
lsp "to-SanFrancisco" sr-te
to 38.120.48.211
cspf
pce-report enable
metric 10
primary "loose-anycast"
exit
no shutdown
exit

The following example shows the configuration of a PCE-computed SR-TE LSP that is reported to PCE:

Example:
lsp "to-SanFrancisco" sr-te
to 38.120.48.211
cspf
pce-computation
pce-report enable
metric 10
primary "loose-anycast"
exit
no shutdown
exit

The following example shows the configuration of a PCE-controlled SR-TE LSP with no PCE path profile:

Example:
lsp "from Reno to Atlanta no Profile" sr-te
to 38.120.48.224
cspf
pce-computation
pce-report enable
pce-control
primary "empty"
exit
no shutdown
exit

The following example shows the configuration of a PCE-controlled SR-TE LSP with a PCE path profile and a maximum label stack set to a non-default value:

Example:
lsp "from Reno to Atlanta no Profile" sr-te
to 38.120.48.224
cspf
max-sr-labels 8 additional-frr-labels 1
pce-computation
pce-report enable
pce-control
path-profile 10 path-group 2
primary "empty"
bandwidth 15
exit
no shutdown
exit

Configuring RSVP Parameters

RSVP is used to set up LSPs. RSVP must be enabled on the router interfaces that are participating in signaled LSPs. The keep-multiplier and refresh-time default values can be modified in the RSVP context.

Initially, interfaces are configured in the config>router>mpls>interface context. Only these existing (MPLS) interfaces are available to modify in the config>router> rsvp context. Interfaces cannot be directly added in the RSVP context.

The following example displays an RSVP configuration example:

A:ALA-1>config>router>rsvp# info
----------------------------------------------
interface "system"
             no shutdown
          exit
          interface to-104
             hello-interval 4000
             no shutdown
          exit
          no shutdown
----------------------------------------------
A:ALA-1>config>router>rsvp#

Configuring RSVP Message Pacing Parameters

RSVP message pacing maintains a count of the messages that were dropped because the output queue for the egress interface was full.

Use the following CLI syntax to configure RSVP parameters:

CLI Syntax:
config>router>rsvp
no shutdown
msg-pacing
period milli-seconds
max-burst number

The following example displays a RSVP message pacing configuration example:

A:ALA-1>config>router>rsvp# info
----------------------------------------------
            keep-multiplier 5
            refresh-time 60
            msg-pacing
                period 400
                max-burst 400
            exit
            interface "system"
                no shutdown
            exit
            interface to-104
                hello-interval 4000
                no shutdown
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>rsvp#

Configuring Graceful Shutdown

TE graceful shutdown can be enabled on a specific interface using the config>router>rsvp>if>graceful-shutdown command. This interface is referred to as the maintenance interface.

Graceful shutdown can be disabled by executing the no form of the command at the RSVP interface level or at the RSVP level. In this case, the user configured TE parameters of the maintenance links are restored and the maintenance node floods them.

MPLS Configuration Management Tasks

This section discusses the following MPLS configuration management tasks:

Deleting MPLS

NOTE: In order to remove the MPLS instance, MPLS must be disabled (shutdown) and all SDP bindings to LSPs removed. If MPLS is not shutdown first, when the no mpls command is executed, a warning message on the console displays indicating that MPLS is still administratively up.

When MPLS is shut down, the no mpls command deletes the protocol instance and removes all configuration parameters for the MPLS instance. To disable MPLS, use the shutdown command.

To remove MPLS on a router, enter the following command:

CLI Syntax:
config>router# no mpls

Modifying MPLS Parameters

Note:

You must shut down MPLS entities in order to modify parameters. Re-enable (no shutdown) the entity for the change to take effect.

Modifying an MPLS LSP

Some MPLS LSP parameters such as primary and secondary, must be shut down before they can be edited or deleted from the configuration.

The following displays a MPLS LSP configuration example. Refer to the LSP configuration in Configuring an MPLS LSP.

A:ALA-1>>config>router>mpls>lsp# info
----------------------------------------------
                shutdown
                to 10.10.10.104
                from 10.10.10.103
                rsvp-resv-style ff
                include "red"
                exclude "green"
                fast-reroute one-to-one
                exit
                primary "to-NYC"
                    hop-limit 50
                exit
                secondary "secondary-path"
                exit
----------------------------------------------
A:ALA-1>config>router>mpls#

Modifying MPLS Path Parameters

In order to modify path parameters, the config>router>mpls>path context must be shut down first.

The following displays a path configuration example. Refer to Configuring MPLS Paths.

A:ALA-1>config>router>mpls# info
#------------------------------------------
echo "MPLS"
#------------------------------------------
...
            path "secondary-path"
                hop 1 10.10.0.111  strict
                hop 2 10.10.0.222  strict
                hop 3 10.10.0.123  strict
                no shutdown
            exit
            path "to-NYC"
                hop 1 10.10.10.104  strict
                hop 2 10.10.0.210  strict
                no shutdown
            exit
...
----------------------------------------------
A:ALA-1>config>router>mpls#

Modifying MPLS Static LSP Parameters

In order to modify static LSP parameters, the config>router>mpls>path context must be shut down first.

The following displays a static LSP configuration example. Refer to the static LSP configuration on  2.15.5.1.

A:ALA-1>config>router>mpls# info
----------------------------------------------
...
            static-lsp "static-LSP"
                to 10.10.10.234
                push 102704 nexthop 10.10.8.114
                no shutdown
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>mpls#

Deleting an MPLS Interface

In order to delete an interface from the MPLS configuration, the interface must be shut down first.

Use the following CLI syntax to delete an interface from the MPLS configuration:

CLI Syntax:
mpls
[no] interface ip-int-name
shutdown
ALA-1>config>router>if-attr# info
----------------------------------------------
admin-group "green" value 15 
admin-group "yellow" value 20 
admin-group "red" value 25 
----------------------------------------------
A:ALA-1>config>router>mpls# info
----------------------------------------------
...
            interface "system"
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>mpls#

RSVP Configuration Management Tasks

This section discusses the following RSVP configuration management tasks:

Modifying RSVP Parameters

Only interfaces configured in the MPLS context can be modified in the RSVP context.

The no rsvp command deletes this RSVP protocol instance and removes all configuration parameters for this RSVP instance.

The shutdown command suspends the execution and maintains the existing configuration.

The following example displays a modified RSVP configuration example:

A:ALA-1>config>router>rsvp# info
----------------------------------------------
            keep-multiplier 5
            refresh-time 60
            msg-pacing
                period 400
                max-burst 400
            exit
            interface "system"
            exit
            interface "test1"
                hello-interval 5000
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>rsvp#

Modifying RSVP Message Pacing Parameters

RSVP message pacing maintains a count of the messages that were dropped because the output queue for the egress interface was full.

The following example displays command usage to modify RSVP parameters:

The following example displays a modified RSVP message pacing configuration example. Refer to Configuring RSVP Message Pacing Parameters.

A:ALA-1>config>router>rsvp# info
----------------------------------------------
            keep-multiplier 5
            refresh-time 60
            msg-pacing
                period 200
                max-burst 200
            exit
            interface "system"
            exit
            interface "to-104"
            exit
            no shutdown
----------------------------------------------
A:ALA-1>config>router>rsvp#

Deleting an Interface from RSVP

Interfaces cannot be deleted directly from the RSVP configuration. An interface must have been configured in the MPLS context, which enables it automatically in the RSVP context. The interface must first be deleted from the MPLS context. This removes the association from RSVP.

See Deleting an MPLS Interface for information on deleting an MPLS interface.