Saturday, September 23, 2017

MPLS Traffic Engineering (TE)

Here are my lab notes for MPLS Traffic Engineering (TE) testing.  This was built on top of my existing MPLS L3VPN lab.

  • Diagram
  • Configuration (Only PE5 and P1 for brevity)
  • Verification (Using Customer_A’s CE20 to CE21)
    • Ping & Trace with no TE tunnel
    • MPLS trace with no TE tunnel
    • Ping & Trace with TE tunnel
    • TE tunnel verification commands
    • RSVP TE Signaling & Bandwidth Allocations
    • MPLS trace with TE tunnel
  • TE Explicit and Dynamic Path Testing
  • References


Diagram


Configuration

The configuration shown here are only from one provider edge and one provider routers (PE_R05 and P_R01). However, similar configuration was applied on all PE and P routers for TE to function correctly.

TE tunnels in this lab were configured for unidirectional traffic (PE5 to PE6 only).  Similar TE configuration must be applied on PE6 to allow TE in the opposite direction from PE6 to PE5 (not covered here).


Provider Edge Router (PE5)

Enable MPLS traffic engineering globally.

mpls traffic-eng tunnels


Enable MPLS traffic engineering extensions on IGP (OSPF).

router ospf 100
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0


Enable MPLS traffic engineering and RSVP on interfaces.

interface GigabitEthernet1.20
 description TO P_R01
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100

interface GigabitEthernet1.21
 description TO P_R03
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100

Note: Only 100K of bandwidth is available since a default instance of the CSR1000v (i.e., no license) only has a throughput of 100k.

PE_R05#sh platform hardware throughput level
The current throughput level is 100 kb/s


Create a LSP explicit path.

ip explicit-path name LSP_PE5_2_PE6 enable
 next-address 10.1.1.1
 next-address 10.0.0.2
 next-address 10.0.0.14
 next-address 10.1.1.14

Create TE tunnel interface and set explicit path as option 1 and dynamic as backup.  The allocated bandwidth is set to the full 100k and autoroute announce for tunnel forwarding.

interface Tunnel1
 description TE TO PE6
 ip unnumbered Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 6.6.6.6
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng priority 1 1
 tunnel mpls traffic-eng bandwidth 100
 tunnel mpls traffic-eng path-option 1 explicit name LSP_PE5_2_PE6
 tunnel mpls traffic-eng path-option 2 dynamic


Provider Core Router (P1)

Enable MPLS traffic engineering globally.

mpls traffic-eng tunnels


Enable MPLS traffic engineering extensions on IGP (OSPF).

router ospf 100
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0


Enable MPLS traffic engineering and RSVP on core interfaces.

interface GigabitEthernet1.10
 description TO P_R02
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100


interface GigabitEthernet1.11
 description TO P_R03
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100


interface GigabitEthernet1.12
 description TO P_R04
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100


interface GigabitEthernet1.20
 description TO PE_R05
 mpls traffic-eng tunnels
 ip rsvp bandwidth 100


Verification (No TE Tunnel)

Ping

CE_R20#ping 172.16.2.254 source lo100     
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.254, timeout is 2 seconds:
Packet sent with a source address of 172.16.1.254
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/9 ms


Traceroute

Uses the lowest cost path. (CE20  PE5  P3  P2  PE6  CE21)

CE_R20#traceroute 172.16.2.254 source lo100
Type escape sequence to abort.
Tracing the route to 172.16.2.254
VRF info: (vrf in name/id, vrf out name/id)
  1 10.2.2.1 5 msec 3 msec 4 msec
  2 10.1.1.5 [MPLS: Labels 320/628 Exp 0] 8 msec 8 msec 8 msec
  3 10.0.0.17 [MPLS: Labels 220/628 Exp 0] 26 msec 36 msec 30 msec
  4 10.2.2.9 [MPLS: Label 628 Exp 0] 22 msec 18 msec 21 msec
  5 10.2.2.10 21 msec *  7 msec

MPLS Forwarding Trace

PE5 receives traffic from CE20 and does an IP route lookup for destination prefix and imposes the VPN inner label of 628.

PE_R05#sh ip route vrf CUSTOMER_A 172.16.2.0

Routing Table: CUSTOMER_A
Routing entry for 172.16.2.0/24
  Known via "bgp 2345", distance 200, metric 0
  Tag 65001, type internal
  Last update from 6.6.6.6 6d00h ago
  Routing Descriptor Blocks:
  * 6.6.6.6 (default), from 11.11.11.11, 6d00h ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 65001
      MPLS label: 628
      MPLS Flags: MPLS Required


PE5 imposes LSP outer label of 320 and forwards to P3.

PE_R05#sh mpls forwarding-table 6.6.6.6 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
504        320        6.6.6.6/32       0             Gi1.21     10.1.1.5   
        MAC/Encaps=18/22, MRU=9216, Label Stack{320}
        000C291EB42A000C29B9B160810000158847 00140000
        No output feature configured

P3 swaps label from 320 to 220 and forwards to P2.

P_R03#sh mpls forwarding-table labels 320 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
320        220        6.6.6.6/32       5252          Gi1.14     10.0.0.17  
        MAC/Encaps=18/22, MRU=9216, Label Stack{220}
        000C294A72B4000C291EB42A8100000E8847 000DC000
        No output feature configured


P2 pops outer label and forwards to PE6.

P_R02#sh mpls forwarding-table labels 220 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
220        Pop Label  6.6.6.6/32       7461885       Gi1.22     10.1.1.10  
        MAC/Encaps=18/18, MRU=9220, Label Stack{}
        000C298D7AB2000C294A72B4810000168847
        No output feature configured

PE6 looks up at the inner label to determine what VRF it belongs to.


PE_R06#sh mpls forwarding-table labels 628 detail 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
628        No Label   172.16.2.0/24[V] 328954        Gi1.32     10.2.2.10   
        MAC/Encaps=18/18, MRU=9220, Label Stack{}
        000C29F12BDA000C298D7AB2810000200800 
        VPN route: CUSTOMER_A
        No output feature configured


PE6 does an IP route lookup in the VRF for destination prefix and forward to CE21.

PE_R06#sh ip route vrf CUSTOMER_A 172.16.2.0

Routing Table: CUSTOMER_A
Routing entry for 172.16.2.0/24
  Known via "bgp 2345", distance 20, metric 0
  Tag 65001, type external
  Last update from 10.2.2.10 1w1d ago
  Routing Descriptor Blocks:
  * 10.2.2.10, from 10.2.2.10, 1w1d ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 65001
      MPLS label: none


Verification (with TE Tunnel)

Ping

CE_R20#ping 172.16.2.254 source lo100     
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.254, timeout is 2 seconds:
Packet sent with a source address of 172.16.1.254
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 9/9/10 ms

Traceroute

Uses the TE explicit path. (CE20  PE5  P1  P2  P4  PE6  CE21)

CE_R20#traceroute 172.16.2.254 source lo100
Type escape sequence to abort.
Tracing the route to 172.16.2.254
VRF info: (vrf in name/id, vrf out name/id)
  1 10.2.2.1 4 msec 5 msec 4 msec
  2 10.1.1.1 [MPLS: Labels 116/628 Exp 0] 9 msec 9 msec 21 msec
  3 10.0.0.2 [MPLS: Labels 224/628 Exp 0] 32 msec 30 msec 32 msec
  4 10.0.0.14 [MPLS: Labels 424/628 Exp 0] 21 msec 25 msec 31 msec
  5 10.2.2.9 [MPLS: Label 628 Exp 0] 17 msec 20 msec 18 msec
  6 10.2.2.10 20 msec *  10 msec

MPLS TE Tunnel Verification

Shows tunnel operational state, new MPLS labels, configured paths and bandwidth details for traffic engineering tunnels.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit LSP_PE5_2_PE6 (Basis for Setup, path weight 17)
    path option 2, type dynamic

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.20, 116
  Next Hop : 10.1.1.1
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 15
    RSVP Path Info:
      My Address: 10.1.1.2  
      Explicit Route: 10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
                      6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.1 10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 41 days, 17 hours, 44 minutes
      Time since path change: 2 days, 2 hours, 22 minutes
      Number of LSP IDs (Tun_Instances) used: 15
    Current LSP: [ID: 15]
      Uptime: 2 days, 2 hours, 22 minutes
    Prior LSP: [ID: 14]
      ID: path option unknown
      Removal Trigger: tunnel shutdown

LSP Tunnel TE TO PE5 is signalled, connection is up
  InLabel  : GigabitEthernet1.20, implicit-null
  Prev Hop : 10.1.1.1
  OutLabel :  -
  RSVP Signalling Info:
       Src 6.6.6.6, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 12
    RSVP Path Info:
      My Address: 5.5.5.5  
      Explicit Route:  NONE
      Record   Route:  10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

P2MP TUNNELS:

P2MP SUB-LSPS:

Shows TE autoroute status.  The "autoroute announce" feature automatically advertises the TE loopback's address into the IGP, forcing traffic into the TE tunnel. 

PE_R05#show mpls traffic-eng autoroute
MPLS TE autorouting enabled
  destination 6.6.6.6, area ospf 100  area 0, has 1 tunnels
    Tunnel1     (load balancing metric 20000000, nexthop 6.6.6.6)
                (flags: Announce)


IP route for destination PE address (generated from autoroute).

PE_R05#sh ip route 6.6.6.6                       
Routing entry for 6.6.6.6/32
  Known via "ospf 100", distance 110, metric 7, type intra area
  Last update from 6.6.6.6 on Tunnel1, 00:19:32 ago
  Routing Descriptor Blocks:
  * 6.6.6.6, from 6.6.6.6, 00:19:32 ago, via Tunnel1
      Route metric is 7, traffic share count is 1


IP CEF entry for destination PE address.

PE_R05#sh ip cef 6.6.6.6 detail
6.6.6.6/32, epoch 2
  local label info: global/504
  1 RR source [no flags]
  nexthop 6.6.6.6 Tunnel1


RSVP TE Signaling

Shows TE RSVP signaled neighbors for every node.

PE_R05#sh ip rsvp neighbor         
Neighbor        Encapsulation  Time since msg rcvd/sent
10.1.1.1        Raw IP         00:00:23   00:00:13 

P_R01#sh ip rsvp neighbor 
Neighbor        Encapsulation  Time since msg rcvd/sent
10.0.0.2        Raw IP         00:00:05   00:00:10 
10.1.1.2        Raw IP         00:00:03   00:00:10 

P_R02#sh ip rsvp neighbor         
Neighbor        Encapsulation  Time since msg rcvd/sent
10.0.0.1        Raw IP         00:00:00   00:00:10 
10.0.0.14       Raw IP         00:00:05   00:00:01 

P_R03#sh ip rsvp neighbor
Neighbor        Encapsulation  Time since msg rcvd/sent

P_R04#sh ip rsvp neighbor
Neighbor        Encapsulation  Time since msg rcvd/sent
10.0.0.13       Raw IP         00:00:15   00:00:13 
10.1.1.14       Raw IP         00:00:11   00:00:32 

PE_R06#sh ip rsvp neighbor
Neighbor        Encapsulation  Time since msg rcvd/sent
10.1.1.13       Raw IP         00:00:06   00:00:02 


RSVP Bandwidth Allocations

RSVP interfaces shows the RSVP TE signaling and bandwidth allocations for the LSP (CE20  PE5  P1  P2  P4  PE6  CE21).  Since 100K of bandwidth was allocated to this tunnel, RSVP will allocate this for the LSP.

interface Tunnel1
 description TE TO PE6
 tunnel mpls traffic-eng bandwidth 100

PE5  P1

PE_R05#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.20       ena        100K       100K     100K     0  
Gi1.21       ena        0          100K     100K     0  

P1  P2 and P1  PE5

P_R01#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.10       ena        100K       100K     100K     0  
Gi1.11       ena        0          100K     100K     0  
Gi1.12       ena        0          100K     100K     0  
Gi1.20       ena        100K       100K     100K     0  
Gi1.24       ena        0          100K     100K     0  
Gi1.27       ena        0          100K     100K     0 

P2  P1 and P2  P4

P_R02#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.10       ena        100K       100K     100K     0  
Gi1.13       ena        100K       100K     100K     0  
Gi1.14       ena        0          100K     100K     0  
Gi1.22       ena        0          100K     100K     0  
Gi1.25       ena        0          100K     100K     0  
Gi1.26       ena        0          100K     100K     0 

No RSVP bandwidth reserved through P3

P_R03#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.11       ena        0          100K     100K     0  
Gi1.14       ena        0          100K     100K     0  
Gi1.15       ena        0          100K     100K     0  
Gi1.21       ena        0          100K     100K     0  
Gi1.28       ena        0          100K     100K     0 

P4  P2 and P4  PE6

P_R04#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.12       ena        0          100K     100K     0  
Gi1.13       ena        100K       100K     100K     0  
Gi1.15       ena        0          100K     100K     0  
Gi1.23       ena        100K       100K     100K     0  
Gi1.29       ena        0          100K     100K     0 

PE6  P4

PE_R06#sh ip rsvp interface
interface    rsvp       allocated  i/f max  flow max sub max  VRF           
Gi1          ena        0          75K      75K      0  
Gi1.22       ena        0          100K     100K     0  
Gi1.23       ena        100K       100K     100K     0  


Shows RSVP reserved bandwidth.

PE_R05#sh mpls traffic-eng link-management admission-control
System Information::
  P2P LSP:
    LSPS: 1 (Total Admitted:  703 , Total Deleted:  701 )
  P2MP subLSP:
    subLSPs: 0 (Total Admitted:  0 , Total Deleted:  0 )

P2P LSP:
  LSP ID               UP IF     DOWN IF  PRIORITY STATE           BW (kbps)
5.5.5.5_876->6.6.6.6_  -         Gi1.20   1/1      Resv Admitted   100         RG

P2MP subLSP:
  Src->Dst             UP IF     DOWN IF  PRIORITY STATE           BW (kbps)


MPLS Forwarding Trace

PE5 receives traffic from CE20 and does an IP route lookup for destination prefix and imposes the VPN inner label of 628.

PE_R05#sh ip route vrf CUSTOMER_A 172.16.2.0

Routing Table: CUSTOMER_A
Routing entry for 172.16.2.0/24
  Known via "bgp 2345", distance 200, metric 0
  Tag 65001, type internal
  Last update from 6.6.6.6 3d21h ago
  Routing Descriptor Blocks:
  * 6.6.6.6 (default), from 11.11.11.11, 3d21h ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 65001
      MPLS label: 628
      MPLS Flags: MPLS Required


The autoroute announce forces destination 6.6.6.6 to the tunnel so PE5 looks at TE tunnel details.  It shows to use the explicit path (dynamic path as backup), impose a new label of 116 and forward to P1.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit LSP_PE5_2_PE6 (Basis for Setup, path weight 17)
    path option 2, type dynamic

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.20, 116
  Next Hop : 10.1.1.1
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 15
    RSVP Path Info:
      My Address: 10.1.1.2  
      Explicit Route: 10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
                      6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.1 10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 39 days, 18 hours, 1 minutes
      Time since path change: 2 hours, 39 minutes
      Number of LSP IDs (Tun_Instances) used: 15
    Current LSP: [ID: 15]
      Uptime: 2 hours, 39 minutes
    Prior LSP: [ID: 14]
      ID: path option unknown
      Removal Trigger: tunnel shutdown

LSP Tunnel TE TO PE5 is signalled, connection is up
  InLabel  : GigabitEthernet1.20, implicit-null
  Prev Hop : 10.1.1.1
  OutLabel :  -
  RSVP Signalling Info:
       Src 6.6.6.6, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 12
    RSVP Path Info:
      My Address: 5.5.5.5  
      Explicit Route:  NONE
      Record   Route:  10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits



Here's the MPLS forwarding table on PE5 showing traffic being forced via a tunnel (interface tunnel1 with imposed label of 116 to reach destination 6.6.6.6).

PE_R05#sh mpls forwarding-table 6.6.6.6 detail
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
504        Pop Label  6.6.6.6/32       0             Tu1        point2point
        MAC/Encaps=18/22, MRU=9216, Label Stack{116} , via Gi1.20
        000C29DEA41E000C29B9B160810000148847 00074000
        No output feature configured

PE_R05#sh mpls forwarding-table 6.6.6.6       
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
504   [T]  Pop Label  6.6.6.6/32       0             Tu1        point2point

[T]     Forwarding through a LSP tunnel.
        View additional labelling info with the 'detail' option


The signaled TE tunnel on P1 swaps label to 224 and forward to P2.  Shows remaining explicit route path.

P_R01#sh mpls traffic-eng tunnels       

P2P TUNNELS/LSPs:

LSP Tunnel TE TO PE6 is signalled, connection is up
  InLabel  : GigabitEthernet1.20, 116
  Prev Hop : 10.1.1.2
  OutLabel : GigabitEthernet1.10, 224
  Next Hop : 10.0.0.2
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 15
    RSVP Path Info:
      My Address: 10.0.0.1  
      Explicit Route: 10.0.0.2 10.0.0.14 10.1.1.14 6.6.6.6
      Record   Route:  10.1.1.2
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

LSP Tunnel TE TO PE5 is signalled, connection is up
  InLabel  : GigabitEthernet1.10, 124
  Prev Hop : 10.0.0.2
  OutLabel : GigabitEthernet1.20, implicit-null
  Next Hop : 10.1.1.2
  RSVP Signalling Info:
       Src 6.6.6.6, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 12
    RSVP Path Info:
      My Address: 10.1.1.1   
      Explicit Route: 10.1.1.2 5.5.5.5
      Record   Route:  10.0.0.2 10.0.0.14 10.1.1.14
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.1.1.2
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

P_R01#sh mpls forwarding-table labels 116
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
116        224        5.5.5.5 1 [15]   0             Gi1.10     10.0.0.2 


The signaled TE tunnel on P2 swaps label to 424 and forward to P4. Shows remaining explicit route path.

P_R02#sh mpls traffic-eng tunnels       

P2P TUNNELS/LSPs:

LSP Tunnel TE TO PE6 is signalled, connection is up
  InLabel  : GigabitEthernet1.10, 224
  Prev Hop : 10.0.0.1
  OutLabel : GigabitEthernet1.13, 424
  Next Hop : 10.0.0.14
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 15
    RSVP Path Info:
      My Address: 10.0.0.13  
      Explicit Route: 10.0.0.14 10.1.1.14 6.6.6.6
      Record   Route:  10.0.0.1 10.1.1.2
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

LSP Tunnel TE TO PE5 is signalled, connection is up
  InLabel  : GigabitEthernet1.13, 214
  Prev Hop : 10.0.0.14
  OutLabel : GigabitEthernet1.10, 124
  Next Hop : 10.0.0.1
  RSVP Signalling Info:
       Src 6.6.6.6, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 12
    RSVP Path Info:
      My Address: 10.0.0.2  
      Explicit Route: 10.0.0.1 10.1.1.2 5.5.5.5
      Record   Route:  10.0.0.14 10.1.1.14
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.1.1.1 10.1.1.2
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

P_R02#sh mpls forwarding-table labels 224
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
224        424        5.5.5.5 1 [15]   0             Gi1.13     10.0.0.14


The signaled TE tunnel on P4 pops label and forwards to PE6. Shows remaining explicit route path.

P_R04#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

LSP Tunnel TE TO PE6 is signalled, connection is up
  InLabel  : GigabitEthernet1.13, 424
  Prev Hop : 10.0.0.13
  OutLabel : GigabitEthernet1.23, implicit-null
  Next Hop : 10.1.1.14
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 15
    RSVP Path Info:
      My Address: 10.1.1.13  
      Explicit Route: 10.1.1.14 6.6.6.6
      Record   Route:  10.0.0.13 10.0.0.1 10.1.1.2
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

LSP Tunnel TE TO PE5 is signalled, connection is up
  InLabel  : GigabitEthernet1.23, 423
  Prev Hop : 10.1.1.14
  OutLabel : GigabitEthernet1.13, 214
  Next Hop : 10.0.0.13
  RSVP Signalling Info:
       Src 6.6.6.6, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 12
    RSVP Path Info:
      My Address: 10.0.0.14  
      Explicit Route: 10.0.0.13 10.0.0.1 10.1.1.2 5.5.5.5
      Record   Route:  10.1.1.14
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.2 10.1.1.1 10.1.1.2
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits

P_R04#sh mpls forwarding-table labels 424
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   
Label      Label      or Tunnel Id     Switched      interface             
424        Pop Label  5.5.5.5 1 [15]   0             Gi1.23     10.1.1.14  

PE6 looks at the inner label to determine what VRF it belongs to.

PE_R06#sh mpls forwarding-table labels 628 detail 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
628        No Label   172.16.2.0/24[V] 328954        Gi1.32     10.2.2.10   
        MAC/Encaps=18/18, MRU=9220, Label Stack{}
        000C29F12BDA000C298D7AB2810000200800 
        VPN route: CUSTOMER_A
        No output feature configured


PE6 does an IP route table lookup in customer VRF for destination prefix.

PE_R06#sh ip route vrf CUSTOMER_A 172.16.2.0

Routing Table: CUSTOMER_A
Routing entry for 172.16.2.0/24
  Known via "bgp 2345", distance 20, metric 0
  Tag 65001, type external
  Last update from 10.2.2.10 6d18h ago
  Routing Descriptor Blocks:
  * 10.2.2.10, from 10.2.2.10, 6d18h ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 65001
      MPLS label: none


TE Explicit and Dynamic Path Testing

TE Tunnel in the UP state with explicit path as option 1.  LSP ID is Tunnel instance 6.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit LSP_PE5_2_PE6 (Basis for Setup, path weight 17)
    path option 2, type dynamic

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.20, 116
  Next Hop : 10.1.1.1
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 6
    RSVP Path Info:
      My Address: 10.1.1.2  
      Explicit Route: 10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
                      6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.1 10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 36 days, 17 hours, 5 minutes
      Time since path change: 3 minutes, 42 seconds
      Number of LSP IDs (Tun_Instances) used: 6
    Current LSP: [ID: 6]
      Uptime: 3 minutes, 42 seconds
    Prior LSP: [ID: 5]
      ID: path option unknown
      Removal Trigger: tunnel shutdown

..snip..


Shut the P4 to PE6 link to force the TE tunnel to use the backup path.

P_R04#sh int desc
Interface                      Status         Protocol Description
Gi1                            up             up      
Gi1.12                         up             up       TO P_R01
Gi1.13                         up             up       TO P_R02
Gi1.15                         up             up       TO P_R03
Gi1.17                         up             up       TO RR_R11
Gi1.23                         up             up       TO PE_R06
Gi1.29                         up             up       TO PE_R15
Gi2                            admin down     down    
Gi3                            admin down     down    
Gi4                            up             up       MANAGEMENT
Lo0                            up             up       RID


P_R04(config)#int g1.23
P_R04(config-subif)#shut


Path option 2 is now used with a new LSP ID of 8.  Last LSP ID of 6 had a path failure.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 6)
    path option 1, type explicit LSP_PE5_2_PE6

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.21, 316
  Next Hop : 10.1.1.5
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 8
    RSVP Path Info:
      My Address: 10.1.1.6  
      Explicit Route: 10.1.1.5 10.0.0.17 10.1.1.10 6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.18 10.1.1.9 10.1.1.10
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 36 days, 17 hours, 6 minutes
      Time since path change: 4 seconds
      Number of LSP IDs (Tun_Instances) used: 8
    Current LSP: [ID: 8]
      Uptime: 4 seconds
      Selection: reoptimization
    Prior LSP: [ID: 6]
      ID: path option 1 [7]
      Removal Trigger: path verification failed
      Last Error: CTRL:: Can't use link 10.0.0.14 on node 4.4.4.4

..snip..


Bring the P4 to PE6 link back up.

P_R04(config)#int g1.23
P_R04(config-subif)#no shut
P_R04(config-subif)#^Z


Check IGP peering between P4 and PE6.

P_R04#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
15.15.15.15       0   FULL/  -        00:00:37    10.1.1.38       GigabitEthernet1.29
6.6.6.6           0   FULL/  -        00:00:38    10.1.1.14       GigabitEthernet1.23
11.11.11.11       0   FULL/  -        00:00:38    10.0.0.106      GigabitEthernet1.17
3.3.3.3           0   FULL/  -        00:00:39    10.0.0.21       GigabitEthernet1.15
2.2.2.2           0   FULL/  -        00:00:38    10.0.0.13       GigabitEthernet1.13
1.1.1.1           0   FULL/  -        00:00:38    10.0.0.9        GigabitEthernet1.12


Force TE tunnel re-optimization.

PE_R05#mpls traffic-eng reoptimize


Or re-optimization will occur automatically after 3600 seconds by default (1 hour).

PE_R05#sh mpls traffic-eng tunnels summary
Signalling Summary:
    LSP Tunnels Process:            running
    Passive LSP Listener:           running
    RSVP Process:                   running
    Forwarding:                     enabled
    Periodic reoptimization:        every 3600 seconds, next in 10 seconds
    Periodic FRR Promotion:         Not Running
    Periodic auto-bw collection:    every 300 seconds, next in 12 seconds
    P2P:
      Head: 2 interfaces,   2 active signalling attempts, 2 established
            684 activations,  682 deactivations
            3543 failed activations
            0 SSO recovery attempts, 0 SSO recovered
      Midpoints: 0, Tails: 0

    P2MP:
      Head: 0 interfaces,   0 active signalling attempts, 0 established
            0 sub-LSP activations,  0 sub-LSP deactivations
            0 LSP successful activations,  0 LSP deactivations
            0 SSO recovery attempts, LSP recovered: 0 full, 0 partial, 0 fail
      Midpoints: 0, Tails: 0


Path option 1 is being re-optimized.

PE_R05#sh mpls traffic-eng tunnels               

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 2, type dynamic (Basis for Setup, path weight 6)
    path option 1 reoptimization in progress

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: dynamic path option 2 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.21, 316
  Next Hop : 10.1.1.5
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 8
    RSVP Path Info:
      My Address: 10.1.1.6  
      Explicit Route: 10.1.1.5 10.0.0.17 10.1.1.10 6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.18 10.1.1.9 10.1.1.10
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 36 days, 17 hours, 9 minutes
      Time since path change: 2 minutes, 49 seconds
      Number of LSP IDs (Tun_Instances) used: 8
    Current LSP: [ID: 8]
      Uptime: 2 minutes, 49 seconds
      Selection: reoptimization
    Reopt. LSP: [ID: 9]
      Uptime: 2 seconds
    Prior LSP: [ID: 6]
      ID: path option unknown
      Removal Trigger: path verification failed

..snip..


The explicit path option 1 now active while path option 2 is being re-optimized.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit LSP_PE5_2_PE6 (Basis for Setup, path weight 17)
    path option 2 reoptimization in progress

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.20, 123
  Next Hop : 10.1.1.1
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 9
    RSVP Path Info:
      My Address: 10.1.1.2  
      Explicit Route: 10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
                      6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.1 10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 36 days, 17 hours, 9 minutes
      Time since path change: 5 seconds
      Number of LSP IDs (Tun_Instances) used: 9
    Current LSP: [ID: 9]
      Uptime: 8 seconds
      Selection: reoptimization
    Prior LSP: [ID: 8]
      ID: path option unknown
      Removal Trigger: reoptimization completed

..snip..

 
Optimization for both paths complete.

PE_R05#sh mpls traffic-eng tunnels

P2P TUNNELS/LSPs:

Name: TE TO PE6                           (Tunnel1) Destination: 6.6.6.6
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit LSP_PE5_2_PE6 (Basis for Setup, path weight 17)
    path option 2, type dynamic

  Config Parameters:
    Bandwidth: 100      kbps (Global)  Priority: 1  1   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute: enabled  LockDown: disabled Loadshare: 100 [20000000] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled


  InLabel  :  -
  OutLabel : GigabitEthernet1.20, 123
  Next Hop : 10.1.1.1
  RSVP Signalling Info:
       Src 5.5.5.5, Dst 6.6.6.6, Tun_Id 1, Tun_Instance 9
    RSVP Path Info:
      My Address: 10.1.1.2  
      Explicit Route: 10.1.1.1 10.0.0.2 10.0.0.14 10.1.1.14
                      6.6.6.6
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
    RSVP Resv Info:
      Record   Route:  10.0.0.1 10.0.0.13 10.1.1.13 10.1.1.14
      Fspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
  History:
    Tunnel:
      Time since created: 36 days, 17 hours, 24 minutes
      Time since path change: 15 minutes, 17 seconds
      Number of LSP IDs (Tun_Instances) used: 9
    Current LSP: [ID: 9]
      Uptime: 15 minutes, 20 seconds
      Selection: reoptimization
    Prior LSP: [ID: 8]
      ID: path option unknown
      Removal Trigger: reoptimization completed

..snip..