RSVP-TE Transport Solution with Flex LSP

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

RSVP-TE Transport Solution with Flex LSP

Release 7.11.1

You can configure bidirectional label-switched paths dynamically through Resource Reservation Protocol-Traffic Engineering (RSVP-TE) using flex LSP. With this configuration, you can dynamically alter settings for LSPs such as QoS, bandwidth, fast reroute, and path selection to tailor the associated bidirectional LSP to network requirements and traffic patterns.

Flex LSP is the combination of static bidirectional MPLS-TP and dynamic MPLS-TE. Flex LSP provides bidirectional label switched paths (LSPs) set up dynamically through Resource Reservation Protocol–Traffic Engineering (RSVP-TE). It does not support non-co routed LSPs.

Flex Label Switched Paths are LSP instances where the forward and the reverse direction paths are setup, monitored and protected independently and associated together during signaling. You use a RSVP Association object to bind the two forward and reverse LSPs together to form a co-routed associated bidirectional TE tunnel.

You can associate a protecting MPLS-TE tunnel with either a working MPLS-TE LSP, protecting MPLS-TE LSP, or both. The working LSP is the primary LSP backed up by the protecting LSP. When a working LSP goes down, the protecting LSP is automatically activated. You can configure a MPLS-TE tunnel to operate without protection as well.

Signaling Methods and Object Association for Flex LSPs

This section provides an overview of the association signaling methods for the bidirectional LSPs. Two unidirectional LSPs can be bound to form an associated bidirectional LSP in the following scenarios:

  • No unidirectional LSP exists, and both must be established.

  • Both unidirectional LSPs exist, but the association must be established.

  • One unidirectional LSP exists, but the reverse associated LSP must be established.

Associated Bidirectional Co-routed LSPs

This section provides an overview of associated bidirectional co-routed LSPs. Establishment of MPLS TE-LSP involves computation of a path between a head-end node to a tail-end node, signaling along the path, and modification of intermediate nodes along the path. The signaling process ensures bandwidth reservation (if signaled bandwidth is lesser than 0 and programming of forwarding entries).

Path computation is performed by the head-end nodes of both the participating LSPs using Constrained Shortest Path First (CSPF). CSPF is the 'shortest path (measured in terms of cost) that satisfies all relevant LSP TE constraints or attributes, such as required bandwidth, priority and so on.

Associated Bidirectional Co-routed LSPs: A co-routed bidirectional TE LSP denotes a bidirectional tunnel where the forward direction LSP and reverse direction LSP must follow the same path, for example, the same nodes and paths. Here is an illustration.

In the above topology:

  • Paths at the top of the figure (in green) indicate working co-routed LSP pairs.

  • Paths at the bottom of the figure (in red) indicate protecting co-routed LSP pairs.

  • Router 1 sets up working LSP to Router 3 (in green) after performing bidirectional CSPF and sends reverse explicit route object (ERO) to Router 3. Node Router 3 uses the received reverse ERO to set up reverse green working LSP to Router 1.

  • Router 3 sets up protecting LSP to Router 1 (in red) after performing bidirectional CSPF and sends reverse ERO to Router 1. Node Router 1 uses the received reverse ERO to set up reverse red protecting LSP to Router 3.

Restrictions for Flex LSP

  • Exp-null over Flex-LSP is not supported.

  • 50 msec convergence is not guaranteed without WRAP protection. WRAP protection is mandatory to achieve 50 msec convergence for remote failures.

  • TE NSR and IGP NSR are mandatory for RSP switchover.

  • VPLS over Flex-LSP is not supported.

  • Non-co routed Flex LSP is not supported.

  • Sub interface shut will not guarantee 50 msec convergence.

  • MPLS forwarding table stats is not supported.

  • 1000 tunnels are supported with wrap protection and path protection.

Key Features supported in Flex LSP

Following list outlines key features supported:

  • Protection -

    Following Protection features are supported:

    • Lockout: Using Lockout feature, user can perform lockout protection on a selected LSP and can switch traffic to protecting LSP, if the selected LSP carries the traffic. LSP on locked out interface remains up but no traffic flows on the locked out path. To configure lockout under an MPLS-TE enabled interface:

      
      RP/0/RP0/CPU0:router# configure
      RP/0/RP0/CPU0:router(config)# mpls traffic-eng
      RP/0/RP0/CPU0:router(config-mpls-te)# interface tenGigE0/1/0/1
      RP/0/RP0/CPU0:router(config-mpls-te-if)# fault-oam lockout
    • Wrap Protection: Using Wrap Protection, each LSP signals unique wrap label for head-end to identify lookback traffic and sends it over protect LSP. To configure Wrap Protection:

      
      RP/0/RP0/CPU0:router# configure
      RP/0/RP0/CPU0:router(config)# interface tunnel-te1
      RP/0/RP0/CPU0:router(config-if)# ipv4 unnumbered Loopback0
      RP/0/RP0/CPU0:router(config-if)# destination 49.49.49.2
      RP/0/RP0/CPU0:router(config-if)# path-option 10 explicit name PATH1-2-3 
      RP/0/RP0/CPU0:router(config-if)# bidirectional association id 100 source-address 49.49.49.2
      RP/0/RP0/CPU0:router(config-if)# bidirectional association association type co-routed
      RP/0/RP0/CPU0:router(config-if)# wrap-protection
      RP/0/RP0/CPU0:router(config-if)# fault-oam 
      
  • MPLS-OAM: MPLS-OAM supports single segment pseudowire going over the associated bidirectional TE tunnels. This support includes pseudowires signaled dynamically, statically, or using a mix of both modes. To configure MPLS-OAM, use the following command:

    
    RP/0/RP0/CPU0:router# configure
    RP/0/RP0/CPU0:router(config)# mpls oam
    RP/0/RP0/CPU0:router(config-oam)# echo reply-mode control-channel allow-reverse-lsp
    

    Following features are supported:

    • LSP Ping: Using LSP ping, use can enable on demand ping. It supports IP encapsulation for both request and reply messages. It also performs reverse path verification.

      Following is the example of LSP Ping configuration:

      
      RP/0/RP0/CPU0:router# ping mpls traffic-eng tunnel-te 1 reply mode control-channel
      
      Tue May 21 11:04:12.211 EDT
      Sending 5, 100-byte MPLS Echos to tunnel-te1,
            timeout is 2 seconds, send interval is 0 msec:
      
      Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
        'L' - labeled output interface, 'B' - unlabeled output interface,
        'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
        'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
        'P' - no rx intf label prot, 'p' - premature termination of LSP,
        'R' - transit router, 'I' - unknown upstream index,
        'X' - unknown return code, 'x' - return code 0
      
      Type escape sequence to abort.
      
      !!!!!
      Success rate is 100 percent (5/5), round-trip min/avg/max = 3/4/5 ms
    • Traceroute: Traceroute supports IP-encapsulation but not for echo reply. Following is the example of Traceroute configuration:

      
      RP/0/RP0/CPU0:router# traceroute mpls traffic-eng tunnel-te 1
      
      Tue May 21 11:06:16.056 EDT
      Tracing MPLS TE Label Switched Path on tunnel-te1, timeout is 2 seconds
      
      Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
        'L' - labeled output interface, 'B' - unlabeled output interface,
        'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
        'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,
        'P' - no rx intf label prot, 'p' - premature termination of LSP,
        'R' - transit router, 'I' - unknown upstream index,
        'X' - unknown return code, 'x' - return code 0
      
      Type escape sequence to abort.
      
        0 10.10.10.1 MRU 1500 [Labels: 16005 Exp: 0]
      L 1 10.10.10.2 MRU 1500 [Labels: implicit-null Exp: 0] 11 ms
      ! 2 13.13.13.4 4 ms
      

Flex LSP Scale Details

Scale details for Flex LSP:

Table 2. Supported LSPs for FLex LSP

Flex LSP with wrap protection

Head/Tail Node: 18750 LSPs

Mid Node: 12500 LSPs

Flex LSP without wrap protection

Head/Tail Node: 18750 LSPs

Mid Node: 75000 LSPs

How to Configure Co-routed Flex LSPs

A co-routed bidirectional packet LSP is a combination of two LSPs (one in the forward direction and the other in reverse direction) sharing the same path between a pair of ingress and egress nodes. It is established using the extensions to RSVP-TE. This type of LSP can be used to carry any of the standard types of MPLS-based traffic, including Layer 2 VPNs.

The configuration includes the following steps:

  1. Enable basic MPLS Traffic Engineering on hostname PE1 and RSVP Configuration.

  2. Configure Flex LSP.

  3. Enable Wrap Protection.

  4. Enable Fault OAM.

  5. Map pseudowire to a specific Flex LSP tunnel.

Configuring Co-routed Flex LSPs

  • You must have symmetric source and destination TE router IDs in order for bidirectional LSPs to be associated.

  • Tunnels attributes must be configured identically on both sides of co-routed bidirectional LSP.


Note


Up to 1000 Flex LSP tunnels are supported.


Before you begin

1. Enable basic MPLS Traffic Engineering on hostname PE1 and RSVP Configuration:

Configure MPLS-TE;

Router# configure
Router(config)# mpls traffic-eng
Router(config-mpls-te)# interface TenGigE0/9/0/0/12.1

Configure RSVP:

Router# configure
Router(config)# rsvp
Router(config-rsvp)# signalling hello graceful-restart refresh interval 3000
Router(config-rsvp)# interface TenGigE0/8/0/0/102.1 bandwidth 1000000
Router(config-rsvp)# interface TenGigE0/5/0/4.1 bandwidth 1000000
2. Configure Flex LSP:

Router# configure
Router(config)# interface tunnel-te1
Router(config-if)# ipv4 unnumbered Loopback0
Router(config-if)# destination 49.49.49.2
Router(config-if)# path-option 10 explicit name PATH1-2-3 
Router(config-if)# bidirectional
Router(config-if-bidir)# association id 100 source-address 49.49.49.2
Router(config-if-bidir-co-routed)# association type co-routed 
3. Wrap Protection:

For Wrap Protection:


Router# configure
Router(config)# interface tunnel-te1
Router(config-if)# ipv4 unnumbered Loopback0
Router(config-if)# destination 49.49.49.2
Router(config-if)# path-option 10 explicit name PATH1-2-3 
Router(config-if)# bidirectional
Router(config-if-bidir)# association id 100 source-address 49.49.49.2
Router(config-if-bidir)# association type co-routed
Router(config-if-bidir-co-routed)# wrap-protection
4. Enable Fault OAM

Router# configure
Router(config)# interface tunnel-te1
Router(config-if)# ipv4 unnumbered Loopback0
Router(config-if)# destination 49.49.49.2
Router(config-if)# path-option 10 explicit name PATH1-2-3 
Router(config-if)# bidirectional
Router(config-if-bidir)# association id 100 source-address 49.49.49.2
Router(config-if-bidir)# association type co-routed
Router(config-if-bidir-co-routed)# fault-oam 
5. Map pseudowire to a specific Flex LSP tunnel:

Router# configure
Router(config)# l2vpn
Router(config-l2vpn)# pw-class foo
Router(config-l2vpn-pwc)# encapsulation mpls
Router(config-l2vpn-pwc-mpls)# preferred-path interface tunnel-te 1
Router(config-l2vpn-pwc)# exit
Router(config-l2vpn)# exit
Router(config-l2vpn)# xconnect group gold
Router(config-l2vpn-xc)# p2p cust_one
Router(config-l2vpn-xc-p2p)# neighbor ipv4 49.49.49.2 pw-id 1
Router(config-l2vpn-xc-p2p-pw)# pw-class foo

Verifying the Co-routed Flex LSP Configuration

To verify the co-routed LSP, use the show mpls traffic-eng tunnels detail command.


Router# show mpls traffic-eng tunnels 7001 detail

Name: tunnel-te7001  Destination: 104.0.0.1  Ifhandle:0x8000aa4 
  Signalled-Name: Cisco8K-R11_t7001
  Status:
    Admin:    up Oper:   up (Uptime 136y10w)

    path option 1,  type explicit path01 (Basis for Setup, path weight 30 (reverse 30))
      Protected-by PO index: 2
    path option 2,  type explicit path02 (Basis for Standby, path weight 100010 (reverse 100010))
      Protected-by PO index: 1
    G-PID: 0x0800 (derived from egress interface properties)
    Bandwidth Requested: 10 kbps  CT0
    Creation Time: Wed Jan 11 03:08:36 2017 (136y10w ago)
  Config Parameters:
    Bandwidth:       10 kbps (CT0) Priority:  7  7 Affinity: 0x0/0xffff
    Metric Type: TE (interface)
    Path Selection:
      Tiebreaker: Min-fill (default)
    Hop-limit: disabled
    Cost-limit: disabled
    Path-invalidation timeout: 10000 msec (default), Action: Tear (default)
    AutoRoute: disabled  LockDown: disabled   Policy class: not set
    Forward class: 0 (default)
    Forwarding-Adjacency: disabled
    Autoroute Destinations: 0
    Loadshare:          0 equal loadshares
    Auto-bw: disabled
    Fast Reroute: Disabled, Protection Desired: None
    Path Protection: Enabled
    Association Type: Single Sided Bidirectional LSPs, Co-routed: YES
    Association ID: 86, Source: 192.0.0.0
    Reverse Bandwidth: 10 kbps (CT0), Standby: 10 kbps (CT0)
    LSP Wrap Protection: Enabled
    
    Reoptimization after affinity failure: Enabled
    Soft Preemption: Disabled
  Fault-OAM Info: 
    Last Fault Msg: Clear
  SNMP Index: 25
  Binding SID: None
  Path Protection Info:
    Standby Path: User defined [explicit path option: 2], 
    Last Switchover:
      136y10w ago, From LSP 14 To LSP 16
      No subcause recorded
      Reopt time remaining: 0 seconds
    Number of Switchovers 1, Standby Ready 3 times, Standby Reopt 0 times
    Lockout Info: 
      Locked Out: NO
      Locked out LSP ID: 0
      Lockout Originated By: None
    LSP Wrap Protection: Enabled
      LSP Wrap Label: 24182
  History:
    Reopt. LSP:
      Last Failure:
        LSP not signalled, identical to the [CURRENT] LSP
        Date/Time: Tue Jan 10 21:42:41 UTC 2017 [00:03:42 ago]
    Standby Reopt LSP:
      Last Failure:
        LSP not signalled, identical to the [STANDBY] LSP
        Date/Time: Tue Jan 10 21:42:41 UTC 2017 [00:03:42 ago]
        First Destination Failed: 104.0.0.1
    Prior LSP:
      ID: 14 Path Option: 1
      Removal Trigger: path protection switchover
  Current LSP Info: 
    Instance: 18, Signaling Area: IS-IS 100 level-2
    Uptime: 136y10w (since Wed Jan 11 03:09:56 UTC 2017)
    Outgoing Interface: TenGigE0/4/0/2.1, Outgoing Label: 24157
    Router-IDs: local      102.0.0.1
                downstream 107.0.0.1
    Soft Preemption: None
    SRLGs: not collected
    Path Info:
      Outgoing:
        Explicit Route:
          Strict, 1.27.1.2
          Strict, 3.67.1.2
          Strict, 3.67.1.1
          Strict, 1.46.1.2
          Strict, 1.46.1.1
          Strict, 104.0.0.1

      Record Route: Disabled
      Tspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
      Session Attributes: Local Prot: Not Set, Node Prot: Not Set, BW Prot: Not Set
                          Soft Preemption Desired: Not Set
      Reverse Associated LSP Information:
        Signaled Name: Cisco8K-R10_t7001
        Tunnel: 7001, Source: 104.0.0.1, Dest: 102.0.0.1, LSP: 9, State: Up
      Association:
        Association Type: Single Sided Bidirectional LSPs
        Association ID: 86, Source: 192.0.0.0
      Extended Association:
        Global source: 0
        Extended ID:
          0x66000001 (102.0.0.1)
          0x12 (0.0.0.18)
      Protection:
        Secondary (S): 0, Protecting (P): 0, Notification (N): 0, Oper (O): 0
        Link Flags: Any, LSP Flags: 1:N Protection with Extra-Traffic
      Reverse Tspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
      Reverse ERO:
        Explicit Route:
          Strict, 1.46.1.1
          Strict, 1.46.1.2
          Strict, 3.67.1.1
          Strict, 3.67.1.2
          Strict, 1.27.1.2
          Strict, 1.27.1.1
          Strict, 102.0.0.1

    Resv Info: None
      Record Route: Disabled
      Fspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
  Standby LSP Info: 
    Instance: 19, Signaling Area: IS-IS 100 level-2
    Uptime: 136y10w (since Wed Jan 11 03:10:04 UTC 2017), Oper State: Up
    Outgoing Interface: TenGigE0/4/0/11.1, Outgoing Label: 24176
    Router-IDs: local      102.0.0.1
                downstream 109.0.0.1
    Soft Preemption: None
    SRLGs: not collected
    Path Info:
      Outgoing:
        Explicit Route:
          Strict, 1.29.1.2
          Strict, 1.49.1.2
          Strict, 1.49.1.1
          Strict, 104.0.0.1

      Record Route: Disabled
      Tspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
      Session Attributes: Local Prot: Not Set, Node Prot: Not Set, BW Prot: Not Set
                          Soft Preemption Desired: Not Set
      Reverse Associated LSP Information:
        Signaled Name: Cisco8K-R10_t7001
        Tunnel: 7001, Source: 104.0.0.1, Dest: 102.0.0.1, LSP: 10, State: Up
      Association:
        Association Type: Single Sided Bidirectional LSPs
        Association ID: 86, Source: 192.0.0.0
      Extended Association:
        Global source: 0
        Extended ID:
          0x68000001 (104.0.0.1)
          0xa (0.0.0.10)
      Protection:
        Secondary (S): 0, Protecting (P): 1, Notification (N): 0, Oper (O): 0
        Link Flags: Any, LSP Flags: 1:N Protection with Extra-Traffic
    Resv Info: None
      Record Route: Disabled
      Fspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
  Persistent Forwarding Statistics:
    Out Bytes: 20272384
    Out Packets: 79189

LSP Tunnel 104.0.0.1 7001 [9] is signalled, Signaling State: up
  Tunnel Name: Cisco8K-R10_t7001 Tunnel Role: Tail
  InLabel: TenGigE0/4/0/2.1, 24164
  Signalling Info:
    Src 104.0.0.1 Dst 102.0.0.1, Tun ID 7001, Tun Inst 9, Ext ID 104.0.0.1
    Router-IDs: upstream   107.0.0.1
                local      102.0.0.1
    Bandwidth: 10 kbps (CT0) Priority:  7  7 DSTE-class: 0
    Soft Preemption: None
    SRLGs: not collected
    Path Info:
      Incoming Address: 1.27.1.1
      Incoming:
      Explicit Route:
        Strict, 1.27.1.1
        Strict, 102.0.0.1

      Record Route: Disabled
      Tspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
      Session Attributes: Local Prot: Not Set, Node Prot: Not Set, BW Prot: Not Set
                          Soft Preemption Desired: Not Set
      Reverse Associated LSP Information:
        Signaled Name: Cisco8K-R11_t7001
        Tunnel: 7001, Source: 102.0.0.1, Dest: 104.0.0.1, LSP: 18, State: Up
      Association:
        Association Type: Single Sided Bidirectional LSPs (Tie breaking slave)
        Association ID: 86, Source: 192.0.0.0
      Extended Association:
        Global source: 0
        Extended ID:
          0x66000001 (102.0.0.1)
          0x12 (0.0.0.18)
      Protection:
        Secondary (S): 0, Protecting (P): 0, Notification (N): 0, Oper (O): 0
        Link Flags: Any, LSP Flags: 1:N Protection with Extra-Traffic
    Resv Info: None
      Record Route: Disabled
      Fspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits

LSP Tunnel 104.0.0.1 7001 [10] is signalled, Signaling State: up
  Tunnel Name: Cisco8K-R10_t7001 Tunnel Role: Tail
  InLabel: TenGigE0/4/0/11.1, 24463
  Signalling Info:
    Src 104.0.0.1 Dst 102.0.0.1, Tun ID 7001, Tun Inst 10, Ext ID 104.0.0.1
    Router-IDs: upstream   109.0.0.1
                local      102.0.0.1
    Bandwidth: 10 kbps (CT0) Priority:  7  7 DSTE-class: 0
    Soft Preemption: None
    SRLGs: not collected
    Path Info:
      Incoming Address: 1.29.1.1
      Incoming:
      Explicit Route:
        Strict, 1.29.1.1
        Strict, 102.0.0.1

      Record Route: Disabled
      Tspec: avg rate=10 kbits, burst=1000 bytes, peak rate=10 kbits
      Session Attributes: Local Prot: Not Set, Node Prot: Not Set, BW Prot: Not Set
                          Soft Preemption Desired: Not Set
      Reverse Associated LSP Information:
        Signaled Name: Cisco8K-R11_t7001
        Tunnel: 7001, Source: 102.0.0.1, Dest: 104.0.0.1, LSP: 19, State: Up
      Association:
        Association Type: Single Sided Bidirectional LSPs (Tie breaking slave)
        Association ID: 86, Source: 192.0.0.0
      Extended Association:   Fspec: avg rate=8K, burst=1K, peak rate=8K

To verify the forwarding interface, use the show mpls forwarding tunnels detail command.


Router# show mpls forwarding tunnels 7001 detail

Tunnel        Outgoing    Outgoing     Next Hop        Bytes       
Name          Label       Interface                    Switched    
------------- ----------- ------------ --------------- ------------
tt7001            24157       Te0/4/0/2.1  1.27.1.2        0           
     Updated: Jan 10 21:40:04.966
     Version: 17852, Priority: 2
     Label Stack (Top -> Bottom): { 24157 }
     Local Label: 24354
     NHID: 0x0, Encap-ID: INVALID, Path idx: 0, Backup path idx: 0, Weight: 0
     MAC/Encaps: 18/22, MTU: 1500
     Packets Switched: 0

  Interface Name: tunnel-te7001, Interface Handle: 0x08000aa4, Local Label: 24354
  Forwarding Class: 0, Weight: 0
  Packets/Bytes Switched: 79189/20272384