RSVP-TE, the Resource Reservation Protocol (RSVP) for Traffic Engineering (TE), is used to distribute MPLS labels for steering traffic and reserving bandwidth. The Label Edge Router (LER) feature implements the headend functionality, such as, RSVP-TE tunnels can originate at an LER which is used to steer traffic into the tunnel.

To Configure RSVP-TE LER

To configure RSVP-TE LER, use thetraffic-engineering mode to configure the rsvp command.

switch(config)# router traffic-engineering
switch(config-te)# rsvp

In the RSVP-TE submode, the configuration has three components.

  • Global configuration
  • Path specifications
  • Tunnel specifications

Global Configuration

In global configuration, all settings apply to all configured tunnels. Path specifications describe a set of constraints for paths. These are referenced from tunnel specifications to describe which path each tunnel can take.

Path Specifications

Path specifications are explicit and dynamic which differ in whether they involve a Constrained Shortest Path First (CSPF) search procedure to find a path in the network topology known to the headend. A path specification of a certain name is only either explicit or dynamic, such as, they share a namespace.

Explicit Path Specifications

In an explicit path specification, the operator provides all hops in the path explicitly. The given path is used directly as the Explicit Route Object (ERO) in RSVP Path messages. All hops are implicitly strict hops. Explicit loose hops are not supported.


The submode to configure explicit paths is entered by specifying the name and the explicit keyword.
switch(config-te-rsvp)# path MyPath explicit

To explicitly specify the order of each hop, use the RSVP-TE explicit path configuration mode. In this example, hop then hop is specied.

switch(config-te-rsvp-path-expl-MyPath)# hop
switch(config-te-rsvp-path-expl-MyPath)# hop

Adding hops with before and after keywords creates a unique internal ordering which will be represented in a canonical form using neither before nor after in the show running-config.


Using the keyword before, the configuration places hop before Then, using the keyword after the configuration places hop after
switch(config-te-rsvp-path-expl-MyPath)# hop before
switch(config-te-rsvp-path-expl-MyPath)# hop after

When it is no longer necessary to have a hop order use the no hop command.


Use the no hop command when removing hops.
switch(config-te-rsvp-path-expl-MyPath)# no hop

Theshow active command explains what is currently happening with the configuration


The currently active configuration is retrieved with the show active command.
switch(config-te-rsvp-path-expl-MyPath)# show active
router traffic-engineering
      path MyPath explicit

The show pending command explains what happens when exiting the submode.


The pending configuration that becomes active upon exiting the submode is retrieved with the show pending command.

switch(config-te-rsvp-path-expl-MyPath)# show pending

Theshow diff command displays the differences between the show active and show pending commands.


The difference between these two commands is that they are retrieved with the show diff command.
switch(config-te-rsvp-path-expl-MyPath)# show diff

When you want to keep all your saved changes, use the exit command.


The change in the submode only takes effect when the submode is exited normally.
switch(config-te-rsvp-path-expl-MyPath)# exit

when you do not want to save any changes, use the abort command.


Changes are discarded when the submode is aborted.
switch(config-te-rsvp-path-expl-MyPath)# abort

Dynamic Path Specifications

In a dynamic path specification, the operator provides constraints with which a Constained Shortest Path First (CSPF) procedure finds a path in the network topology. Effectively, the path specification serves as a template to get instantiated together with other tunnel constraints (like bandwidth requirements). The CSPF result is a list of strict hops which form the ERO.


The submode to configure dynamic paths is entered by specifying the name of the path, in this example MyPath, and use the dynamic keyword.
switch(config-te-rsvp)# path MyPath dynamic

Exclude hop constraints specifies that CSPF must not choose the selected address on the path. Each excluding hops expresses that neither end of a link in the path may have the specified address. Note that other interfaces on the same node may be used.


This example excludes hop
switch(config-te-rsvp-path-dyn-MyPath)# hop exclude

Include hop constraints are supported and specify that these hops have to be included in the computed path in a certain order. By default, a hop is strict, meaning that in the computed path it has to appear directly after the previously specified hop. when a hop is loose it allows other hops to be filled by the CSPF procedure. The keywords before and after work as in the submode for explicit paths.


In the following example hop must be included in the path.

switch(config-te-rsvp-path-dyn-MyPath)# hop

In the following example hop loose shows the hop does not have to be in any paticular order.

switch(config-te-rsvp-path-dyn-MyPath)# hop loose

The following example shows hop comes before

switch(config-te-rsvp-path-dyn-MyPath)# hop before
The following example shows hop comes loose after

switch(config-te-rsvp-path-dyn-MyPath)# hop loose after

Administrative group constraints are specified to restrict CSPF path computation to links that match a set of admin groups. Their IDs are globally significant and the specification contains lists and ranges of admin groups to include or exclude. In particular, every chosen link for a dynamic path must be in all of the admin groups specified in the include all range, must be in one of the admin groups specified in the include any range, and must not be in any of those in the exclude range. The admin group range starts at 0 and ends at 31. On the wire, the admin-group of 0 is translated to 0x1, 1 is translated to 0x2.


In this example include 1 and anything inbetween 2-4, and exclude 7 and 9.
switch(config-te-rsvp-path-dyn-MyPath)# administrative-group include all 1 include any 2-4 exclude 7,9

Administrative group constraints are specified using a name as an alias mapped to a numerical value. The mapping is configured under the global TE mode.

These names are directly used to configure administrative group constraints in addition to the existing numerical format. The admin group constraints for the dynamic path are configured using the following RSVP LER CLI.


In this example the administartive-group includes all blue and anything between 2-4 red, and excludes 7 green.
switch(config-te-rsvp-path-dyn-MyPath)# administrative-group include all blue include any 2-4,red exclude green,7

The list of administrative groups is provided as a comma-separated input without spaces.

The submode for dynamic paths has the same commit/abort semantics and show commands as the submode for explicit paths.

Local Interface

Use the local-interface Loopback command to derive the source IP address for RSVP-TE tunnels. This is a mandatory setting.

switch(config-te-rsvp)# local-interface Loopback 0

A few settings are taken from the global mpls rsvp configuration like Fast-Reroute (FRR) mode and soft preemption. The SRLG setting from the global mpls rsvp configuration is also used to specify if the secondary path of a tunnel is set up by excluding SRLGs of all the links in the primary path as additional constraints, therefore allowing the secondary path to be disjoint from the primary path.

Tunnel Specifications

A tunnel needs a specification of which tunnel to go to.


In this example, MyTunnel is the name of the submode tunnel to use.
switch(config-te-rsvp)# tunnel MyTunnel

Basic Tunnel Configuration

Each tunnel must have a tunnel destination IP.


The this example the selected destination IP is
switch(config-te-rsvp-tunnel-MyTunnel)# destination ip

Adding Path Specifications

A tunnel needs to specify along the path in which its LSPs are established. Therefore, a path specification is referenced by its name and configures the primary LSP.


The specified name for the path is MyPath.
switch(config-te-rsvp-tunnel-MyTunnel)# path MyPath

A secondary LSP is specified which provides a fallback in case the primary LSP is not available. The secondary LSP is either established on-demand cold standby once the primary is not available or pre-signaled hot standby regardless. Configuring a secondary path is optional.


To configure the secondary path, in this example, the name MyOtherPath is selected as a seconday path and is configured to be pre-signaled.
switch(config-te-rsvp-tunnel-MyTunnel)# path MyOtherPath secondary pre-signaled

Only one secondary path can be configured, per tunnel.

Bandwidth Specification

Use the bandwidth command to reserve bandwidth along the path. The bandwidth isexplicitly configured.


In this example, a bandwidth of 10 mbps is selected as the reserve bandwidth for the myTunnel tunnel path.
switch(config-te-rsvp-tunnel-myTunnel)# bandwidth 10 mbps

Available units are bps, kbps, mbps, and gbps. By default, no bandwidth reservation is signaled, such as a bandwidth of0 bps.

An alternative to explicit bandwidth configuration is to use the autobandwidth feature which specifies the minimum and maximum bandwidth to be used for the tunnel and otherwise adjusts bandwidth with an adjustment period based on the observed traffic going over the tunnel. The adjustment period is an optional parameter measured in seconds. The default adjustment period is 0 . A special value meaning that the algorithm decides when to adjust bandwidth based on statistical measurements (the actual adjustment cannot happen more frequently than the sampling, which occurs every 30 seconds).


In this example the bandwidth is set to auto with a minimum of 1 mbps and a maximum of 5 mbps, and has an adjustment-period of 60 seconds.
switch(config-te-rsvp-tunnel-myTunnel)# bandwidth auto min 1 mbps max 5 mbps adjustment-period 60

The adjustment period is specified in seconds.

Tunnel Priorities

Setup and hold priorities from 0 to 7 are configured for the tunnel, where 0 means most preferred, and 7 means least preferred.


In this example, the setup priority is configured of 5 and the hold priority is configured of 3.
switch(config-te-rsvp-tunnel-myTunnel)# priority setup 5 hold 3

The CLI does not impose restrictions on the priority values. Therefore, hold priority should be more preferred than setup priority to avoid cycles where an LSP is continuously established and immediately preempted.

Enabling The Tunnel

By default, a tunnel is not enabled, so it needs to be explicitly enabled.


Use the no shutdown command to explicitly enable the tunnel.
switch(config-te-rsvp-tunnel-MyTunnel)# no shutdown

As for path specifications, the submode provides show active, show pending and show diff commands. It has abort/commit semantics.

When you want to keep all your saved changes, use the exit command.


The change in the submode only takes effect when the submode is exited normally.
switch(config-te-rsvp-tunnel-MyTunnel)# exit

when you do not want to save any changes, use the abort command.


Changes are discarded if the submode is aborted.
switch(config-te-rsvp-tunnel-MyTunnel)# abort