Chapter 4: Cisco MPLS Traffic Engineering

Cisco Press

1 2 3 4 5 6 7 8 Page 3
Page 3 of 8

You actually define explicit paths outside the scope of the tunnel interface. Both Cisco IOS and Cisco IOS XR use a separate configuration mode to define explicit paths. Cisco IOS uses the ip explicit-path command, and Cisco IOS XR uses the explicit-path command. Within this configuration mode, you specify the list of hops (in the form of IP addresses) that you want to include or exclude from the path.

Configuring the TE LSP Constraints

The tunnel configuration determines the constraints that the node uses when executing the constraint-based shortest-path first algorithm to signal the TE LSP. The TE LSP bandwidth, affinity (matching attribute flags), priorities, and metric type influence the computation and validation of a path. In Cisco IOS, you can specify these tunnel parameters with the following tunnel commands, respectively:

  • tunnel mpls traffic-eng bandwidth

  • tunnel mpls traffic-eng affinity

  • tunnel mpls traffic-eng priority

  • tunnel mpls traffic-eng path-selection metric

If you do not configure these parameters explicitly, the bandwidth defaults to 0 kbps, the affinity to links with attribute flags of 0, the priority to 7 (lowest priority), and the use of the TE metric for path selection. You can specify the default path-selection metric using the mpls traffic-eng path-selection metric global command.

Cisco IOS also enables you to associate the TE LSP constraints with a path option instead of associating them with the tunnel. You define the tunnel constraints as a template using the mpls traffic-eng lsp attributes global command. This command defines a configuration mode where you can use the bandwidth, affinity, and priority commands (among others) to define the behavior you want for a TE LSP. This feature enables you to define multiple path options with progressively less-strict constraints and increase the probability of successfully signaling the tunnel.

Example 4-17 shows a tunnel configuration in Cisco IOS with multiple path options. The tunnel has explicit configuration for setup and hold priority 5, bandwidth reservation of 10,000 kbps, and four different path options. The first three path options are explicit paths with names:

  • PATH1 defines a single loose hop.

  • PATH2 specifies a particular address that the path computation must exclude.

  • PATH3 defines a complete, hop-by-hop path to the destination.

The path computation considers the three paths in that order. If they do not meet all constraints to the tunnel destination, a fourth path option invokes path computation to the destination using LSP attributes LSP-ATTRIB1 to reduce the required bandwidth to 5000 kbps, but limiting the path to links with attribute flags of 0.

Example 4-17  Path and Tunnel Configuration in Cisco IOS

mpls traffic-eng lsp attributes LSP-ATTRIB1
 affinity 0x0 mask 0xFFFFFFFF
 bandwidth 5000
!
interface Tunnel1
 description FROM-ROUTER-TO-DST1
 ip unnumbered Loopback0
 no ip directed-broadcast
 tunnel destination 172.16.255.3
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 5 5
 tunnel mpls traffic-eng bandwidth 10000
 tunnel mpls traffic-eng path-option 5 explicit name PATH1
 tunnel mpls traffic-eng path-option 10 explicit name PATH2
 tunnel mpls traffic-eng path-option 15 explicit name PATH3
 tunnel mpls traffic-eng path-option 20 dynamic attributes LSP-ATTRIB1
!
ip explicit-path name PATH1 enable
 next-address loose 172.16.255.5
!
ip explicit-path name PATH2 enable
 exclude-address 172.16.8.2
!
ip explicit-path name PATH3 enable
 next-address 172.16.0.1
 next-address 172.16.8.0
!

Cisco IOS XR uses the signalled-bandwidth, affinity, priority, and path-selection metric tunnel commands to influence the path computation. These parameters have the same defaults as Cisco IOS if you do not specify them explicitly.

Example 4-18 shows a tunnel configuration in Cisco IOS XR with multiple path options. The tunnel has the following explicit constraints: 100,000 kbps of bandwidth, three path options, and an affinity value of F in hexadecimal notation. The first two paths are explicit paths with names:

  • PATH1 defines a complete hop-by-hop path to the tunnel destination.

  • PATH2 defines two addresses to exclude from the path computation.

The tunnel considers those two paths in that order. If the path computation cannot satisfy all constraints with those paths, it relies on the third and last path option that enable a dynamic path.

Example 4-18 Path and Tunnel Configuration in Cisco IOS XR

explicit-path name PATH1
 index 1 next-address ipv4 unicast 172.16.0.4
 index 2 next-address ipv4 unicast 172.16.0.7
 index 3 next-address ipv4 unicast 172.16.4.2
!
explicit-path name PATH2
 index 1 exclude-address ipv4 unicast 172.16.255.131
 index 2 exclude-address ipv4 unicast 172.16.255.130
!
interface tunnel-te1
 description FROM-ROUTER-TO-DST1
 ipv4 unnumbered Loopback0
 signalled-bandwidth 100000
 destination 172.16.255.2
 path-option 10 explicit name PATH1
 path-option 20 explicit name PATH2
 path-option 30 dynamic
 affinity f mask f
!

Note - A headend always checks the accuracy of a path against the MPLS TE topology database before signaling the TE LSP. This behavior holds true even if you define a hop-by-hop explicit path to the destination. You can omit that path check by using the verbatim keyword on the path option.


Path Reoptimization

A headend can reoptimize automatically existing TE LSPs in search of a better path. You can tune a reoptimization timer using the mpls traffic-eng reoptimize timers frequency command in Cisco IOS. Cisco IOS XR uses the reoptimize command under the mpls traffic-eng configuration mode. In both cases, the reoptimization timer defaults to one hour. In addition to the timer-based mechanism, you can have an event-based reoptimization trigger in Cisco IOS using the mpls traffic-eng reoptimize events link-up global command. This command forces the reoptimization of TE LSPs when a physical interface in the MPLS TE network becomes operational.

You can also begin the reoptimization process manually. The mpls traffic-eng reoptimize EXEC command in Cisco IOS and Cisco IOS XR enables you to request TE LSP reoptimization. The command reoptimizes all eligible TE LSPs by default. Alternatively, you can specify the particular tunnel you want to reoptimize.

A headend will not attempt to reoptimize those TE LSP with a locked down path. You use the lockdown keyword as part of the path option or LSP attributes to indicate that the headend must not reoptimize the tunnel after it has established the TE LSP.

Verifying Path Computation

The show mpls traffic-eng tunnels command enables you to verify the path selection for a tunnel. Example 4-19 shows the command output in Cisco IOS for the tunnel configuration in Example 4-15. The output begins with the tunnel destination and then specifies the operational status of the path that indicates that there is a valid path. Subsequently, you can see the list of path options. The tunnel is using path option (dynamic) 20 to reach the destination. The path has a weight (or cost) of 3. Further down, you find the tunnel constraints (bandwidth, priorities, and affinity) and then details about the active path option (20 in this case). Finally, you can find details on the signaled path in the RSVP signaling component. In this case, path option 20 resulted in path 172.16.0.1, 172.16.192.1, 172.16.8.2, and 172.16.255.3. This command provides a wealth of information about TE LSPs. You will find the description of additional output fields throughout the chapter.

Example 4-19  Examining TE LSP Status in Cisco IOS

Router#show mpls traffic-eng tunnels 

Name: FROM-ROUTER-TO-DST1         (Tunnel1) Destination: 172.16.255.3
 Status:
  Admin: up     Oper: up   Path: valid    Signalling: connected
  path option 20, type dynamic (Basis for Setup, path weight 3)
  path option 5, type explicit PATH1
  path option 10, type explicit PATH2
  path option 15, type explicit PATH3

 Config Parameters:
  Bandwidth: 5000   kbps (Global) Priority: 5 5  Affinity: 0x0/0xFFFFFFFF
  Metric Type: TE (default)
  AutoRoute: disabled LockDown: disabled Loadshare: 5000   bw-based
  auto-bw: disabled
 Active Path Option Parameters:
  State: dynamic path option 20 is active
  BandwidthOverride: disabled LockDown: disabled Verbatim: disabled


 InLabel : - 
 OutLabel : POS0/1/0, 120
 RSVP Signalling Info:
    Src 172.16.255.1, Dst 172.16.255.3, Tun_Id 1, Tun_Instance 1
  RSVP Path Info:
   My Address: 172.16.0.0  
   Explicit Route: 172.16.0.1 172.16.192.1 172.16.8.2 172.16.255.3 
   Record  Route:  NONE
   Tspec: ave rate=5000 kbits, burst=1000 bytes, peak rate=5000 kbits
  RSVP Resv Info:
   Record  Route:  NONE
   Fspec: ave rate=5000 kbits, burst=1000 bytes, peak rate=5000 kbits
 History:
  Tunnel:
   Time since created: 2 minutes, 58 seconds
   Time since path change: 2 minutes, 58 seconds
   Number of LSP IDs (Tun_Instances) used: 1
  Current LSP:
   Uptime: 2 minutes, 58 seconds
Router#

Example 4-20 shows the verification of the path computation result in Cisco IOS XR. As with Cisco IOS, you use the show mpls traffic-eng tunnels command for this purpose. This example shows the output for the tunnel configuration in Example 4-18. The tunnel details begin with the tunnel destination. Then, this example shows that the path computation could not find a valid path to the destination with the information available in the MPLS TE topology database. The lack of a path results in a down operational status. The output lists all path options and tunnel constraints plus details regarding the path computation failure in the history component. Using the failure details, you can review the MPLS TE topology database to narrow down the cause of the problem. Examples 4-13 and 4-14 illustrated how to examine the topology database.

Example 4-20 Examining TE LSP Status in Cisco IOS XR

RP/0/4/CPU0:Router#show mpls traffic-eng tunnels 
Signalling Summary:
           LSP Tunnels Process: running
                  RSVP Process: running
                    Forwarding: enabled
       Periodic reoptimization: every 3600 seconds, next in 3403 seconds
        Periodic FRR Promotion: every 300 seconds, next in 105 seconds
   Periodic auto-bw collection: disabled

Name: tunnel-te1 Destination: 172.16.255.2
 Status:
  Admin:  up Oper: down  Path: not valid  Signalling: Down
  path option 10, type explicit PATH1
  path option 20, type explicit PATH2
  path option 30, type dynamic 
  G-PID: 0x0800 (internally specified)

 Config Parameters:
  Bandwidth:  100000 kbps (Global) Priority: 7 7 Affinity: 0xf/0xf
  Metric Type: TE (default)
  AutoRoute: disabled LockDown: disabled  Loadshare:  100000 bw-based
  Auto-bw: disabled(0/0) 0 Bandwidth Requested:  100000
  Direction: unidirectional
  Endpoint switching capability unkown, encoding type: unassigned
  Transit switching capability unkown, encoding type: unassigned

 History:
  Prior LSP:
   ID: path option 10 [3]
   Removal Trigger: path verification failed
   Last Error:
    PCALC:: Can't reach 172.16.0.4 on 172.16.255.4, from node
    172.16.255.129
Displayed 1 (of 1) heads, 0 (of 0) tails
Displayed 0 up, 1 down, 0 recovering, 0 recovered heads
RP/0/4/CPU0:Router#

You can manually begin the path computation process from the EXEC prompt. Both Cisco IOS and Cisco IOS XR provide the show mpls traffic-eng topology path command for this purpose. You can request the computation of a path for a particular tunnel or you can request a path to a destination with a particular set of constraints (bandwidth, priority, and affinity). The manual execution of path computation might show a path different from the current path. This situation does not trigger the reoptimization of the tunnel.

Example 4-21 and Example 4-22 show the output of the show mpls traffic-eng topology path command in Cisco IOS and Cisco IOS XR, respectively. Example 4-21 begins the path computation for Tunnel1 as Example 4-17 defined it. Example 4-22 illustrates the use of the command with an arbitrary choice of constraints. The command output displays the exact constraints that the path computation process used and the hop-by-hop path to the destination if the node found a valid path.

Example 4-21 Manual Execution of Path Computation in Cisco IOS

Router#show mpls traffic-eng topology path tunnel 1
Query Parameters:
 Destination: 172.16.255.3
  Bandwidth: 10000
  Priorities: 5 (setup), 5 (hold)
  Affinity: 0x0 (value), 0xFFFF (mask)
Query Results:
 Min Bandwidth Along Path: 145000 (kbps)
 Max Bandwidth Along Path: 145000 (kbps)
 Hop 0: 172.16.0.0     : affinity 00000000, bandwidth 145000 (kbps)
 Hop 1: 172.16.8.1     : affinity 00000000, bandwidth 145000 (kbps)
 Hop 2: 172.16.255.3   
Router#

Example 4-22 Manual Execution of Path Computation in Cisco IOS XR

RP/0/4/CPU0:Router#show mpls traffic-eng topology path destination 172.16.255.2 bandwidth 1000 
Path Setup to 172.16.255.2:
bw 1000 (CT0), min_bw 155000, metric: 2
setup_pri 7, hold_pri 7
affinity_bits 0x0, affinity_mask 0xffffffff
Hop0:172.16.192.3
Hop1:172.16.4.2
Hop2:172.16.255.2
RP/0/4/CPU0:Router#

Signaling of TE LSPs

You can use node- and interface-level RSVP configuration to influence the signaling of TE LSPs. Cisco IOS XR requires explicit RSVP configuration to enable the signaling of TE LSPs. Cisco IOS enables it when you configured MPLS TE on the interface. In either case, most implementations configure explicitly different aspects of the protocol. At a minimum, you might want to configure the reservable bandwidth on a interface that RSVP will use for admission control. The next two sections discuss how to configure and verify the proper operation of RSVP for the signaling of TE LSPs.

Configuring RSVP

Related:
1 2 3 4 5 6 7 8 Page 3
Page 3 of 8
SD-WAN buyers guide: Key questions to ask vendors (and yourself)