MPLS Traffic Engineering Nonstop Routing Support

The MPLS Traffic Engineering Nonstop Routing Support feature assists the Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) routing devices to recover from an interruption in service. This feature also defines the checkpoint and recovery scheme for the devices.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Prerequisites for MPLS Traffic Engineering Nonstop Routing Support

Your network must support the following Cisco features before you enable Multiprotocol Label Switching (MPLS) Traffic Engineering (TE):

  • MPLS

  • Cisco Express Forwarding

  • Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF)

Before enabling MPLS TE Nonstop Routing (NSR), a full-mode check needs to be done by the system to verify if the mpls traffic-eng nsr command is permitted or is restricted due to conflicts or user privileges.

Restrictions for MPLS Traffic Engineering Nonstop Routing Support

Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Nonstop Routing (NSR) and Resource Reservation Protocol (RSVP) Graceful Restart (GR) are both mutually exclusive recovery mechanisms. Hence, MPLS TE NSR cannot be enabled when RSVP GR is enabled.

Information About MPLS Traffic Engineering Nonstop Routing Support

MPLS Traffic Engineering Nonstop Routing Support Overview

Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Nonstop Routing (NSR) enables routing devices to recover from an interruption in service. The MPLS TE NSR functionality defines a checkpoint for the control plane of the routing devices. Resource Reservation Protocol (RSVP) Graceful Restart (GR) is another method for recovering and restarting interrupted services.

To avoid conflict and guarantee deterministic behavior, only one of the above mentioned recovery methods can be configured at a given time.

The MPLS TE NSR feature differs from the RSVP GR feature in the following ways:

  • MPLS TE NSR devices are fully independent and do not rely on neighbor nodes for a stateful switchover (SSO) recovery.

  • MPLS TE NSR supports the SSO recovery of Fast Reroute (FRR) active tunnels.

  • MPLS TE NSR has an active standby mode. This helps with most of the recovery states being created before the SSO recovery actually happens, ensuring a faster recovery after SSO.

  • MPLS TE NSR show commands display recovery information in standby mode as well.

  • Label switched paths (LSPs) which are not fully signaled, do not resume signaling after an interruption and will go down on SSO.

How to Configure MPLS Traffic Engineering Nonstop Routing Support

Configuring MPLS Traffic Engineering Nonstop Routing Support

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    ip cef

    4.    mpls traffic-eng nsr

    5.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3 ip cef


    Example:
    Device(config)# ip cef
     

    Enables standard Cisco Express Forwarding operations.

     
    Step 4 mpls traffic-eng nsr


    Example:
    Device(config)# mpls traffic-eng nsr
     

    Enables the MPLS Traffic Engineering (TE) Non-Stop Routing (NSR) functionality on a device.

    Note   

    Enabling the MPLS TE NSR functionality automatically enables the Resource Reservation Protocol (RSVP) NSR functionality as well.

     
    Step 5 end


    Example:
    Device(config)# end
     

    Exits global configuration mode and returns to privileged EXEC mode.

     

    Verifying MPLS Traffic Engineering Nonstop Routing Support

    SUMMARY STEPS

      1.    enable

      2.    show mpls traffic-eng nsr

      3.    show mpls traffic-eng nsr counters

      4.    show mpls traffic-eng nsr database

      5.    show mpls traffic-eng nsr oos

      6.    show mpls traffic-eng nsr summary

      7.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 show mpls traffic-eng nsr


      Example:
      Device# show mpls traffic-eng nsr
        counters  TE NSR counters
        database  TE NSR check pointed data
        oos       TE NSR out of sync database
        summary   TE NSR summary
        |         Output modifiers
        <cr>
      
       

      Displays options to obtain Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Nonstop Routing (NSR) configuration information such as the database status, counter numbers, devices which are out of sync, and the summary of all the devices.

       
      Step 3 show mpls traffic-eng nsr counters


      Example:
      Device# show mpls traffic-eng nsr counters
      
       

      Displays information about the data structures or states that are successfully created or removed, along with errors counts.

       
      Step 4 show mpls traffic-eng nsr database


      Example:
      Device# show mpls traffic-eng nsr database
      
       

      Displays information pertaining to the write and read databases supporting MPLS TE NSR. The write and read databases store the data that is used for recovering TE state on a standby device after stateful switchover (SSO).

       
      Step 5 show mpls traffic-eng nsr oos


      Example:
      Device# show mpls traffic-eng nsr oos
      
       

      Displays information pertaining to the out of sync databases supporting MPLS TE NSR. The out of sync databases indicate the devices whose states are not in sync with each other.

       
      Step 6 show mpls traffic-eng nsr summary


      Example:
      Device# show mpls traffic-eng nsr summary
      
       

      Displays a summary of MPLS TE NSR information such as the current TE NSR state (standby-hot / recovering / staling / active), recovery time, and the recovery result (success / failure).

       
      Step 7 end


      Example:
      Device(config)# end
       

      Exits privileged EXEC mode.

       

      Configuration Examples for MPLS Traffic Engineering Nonstop Routing Support

      Example: Configuring MPLS Traffic Engineering Nonstop Routing Support

      The following example shows how to configure Multiprotocol (MPLS) Traffic Engineering (TE) Nonstop Routing (NSR) support on a device:

      enable
      	configure terminal
      		ip cef
      		mpls traffic-eng nsr
        end

      Example: Verifying MPLS Traffic Engineering Nonstop Routing Support

      Displaying MPLS Traffic Engineering Nonstop Routing Support Verification Options

      The following example shows how to display the options that help you verify Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Nonstop Routing (NSR) information:

      enable
       show mpls traffic-eng nsr ?
        counters  TE NSR counters
        database  TE NSR check pointed data
        oos       TE NSR out of sync database
        summary   TE NSR summary
        |         Output modifiers
        <cr>
      

      Verifying MPLS Traffic Engineering Nonstop Routing Support Counters

      The following example shows how to verify information about the data structures or states that are successfully created or removed, along with errors counts:

      
      enable
       show mpls traffic-eng nsr counters
      
      State: Active
      
      Bulk sync
        Last bulk sync was successful (entries sent: 24)
        initiated: 1
      
      Send timer
        started: 7
      
      Checkpoint Messages (Items) Sent
        Succeeded:      13  (101)
          Acks accepted:13  (101)
          Acks ignored:     (0)
          Nacks:        0  (0)
        Failed:         0  (0)
        Buffer alloc:   13
        Buffer freed:   13
      
      ISSU:
        Checkpoint Messages Transformed:
          On Send:
            Succeeded:         13
            Failed:            0
            Transformations:   0
          On Recv:
            Succeeded:         0
            Failed:            0
            Transformations:   0
      
        Negotiation:
          Started:              1
          Finished:             1
          Failed to Start:      0
          Messages:
            Sent:
              Send succeeded:   5
              Send failed:      0
              Buffer allocated:        5
              Buffer freed:            0
              Buffer alloc failed:     0
            Received:
              Succeeded:        7
              Failed:           0
              Buffer freed:     7
        Init:
          Succeeded:            1
          Failed:               0
      
        Session Registration:
          Succeeded:            0
          Failed:               0
      
        Session Unregistration:
          Succeeded:            0
          Failed:               0
      
      Errors:
        None
      
      

      Verifying MPLS Traffic Engineering Nonstop Routing Support Databases

      The following example shows how to verify information pertaining to the write and read databases supporting MPLS TE NSR. The write and read databases store the data that is used for recovering TE state on a standby device after Stateful Switchover (SSO):

      Device# show mpls traffic-eng nsr database if-autotun
      IF_AUTOTUN WRITE DB
      
        Header:
          State: Checkpointed     Action: Add
          Seq #: 14               Flags: 0x0
        Data:
          te_nsr_seq_num: 28
          Tunnel ID: 100 (if_handle: 25), prot_if_handle: 3
          template_unit: n/a, dest: 10.2.0.1, flags=0x0
      
      IF_AUTOTUN READ DB
      
      Device# show mpls traffic-eng nsr database lsp-ac ?
        |  Output modifiers
        <cr>
      
      Device# show mpls traffic-eng nsr database lsp-ac
       LM Tunnel WRITE DB:
      
      Tun ID: 1   LSP ID: 11   (P2MP)
        SubGrp ID:   1
        SubGrp Orig: 10.1.0.1
        Dest:   10.2.0.1
        Sender: 10.1.0.1     Ext. Tun ID: 10.1.0.1
        Header:
          State: Checkpointed     Action: Add
          Seq #: 7                Flags: 0x0
          TE NSR Seq #: 14
      
      LM Tunnel READ DB:
      
      Device# show mpls traffic-eng nsr database internal
      
      Write DB:
                          Checkpointed
         Entry Type       or Ack-Pending  Send-Pending
           PCALC Node                  0             0
           PCALC Link                  0             0
           PCALC Auto-Mes              0             0
           PCALC SRLG                  0             0
           lm_tunnel_t                 0             0
           NSR LSP FRR                 0             0
           nsr_if_autotun              0             0
           nsr_tspvif_set              0             0
           nsr_slsp_head               0             0
      
      Read DB:
         Entry Type        Checkpointed
           PCALC Node                 5
           PCALC Link                12
           PCALC Auto-Mesh            0
           PCALC SRLG                 0
           lm_tunnel_t                5
           NSR LSP FRR                0
           nsr_if_autotun             0
           nsr_tspvif_setup           3
           nsr_slsp_head              5
      
      TE NSR Sequence Bulk Sync List:
      Entries: 0; next avail seq num: 132
      
      TE NSR Sequence State Creation List:
      Entries: 30; next expected seq num: 132
         Seq Num: 7  EntryPtr: 0x5A03B208
           Type: PCALC Node  Action: Add  Bundle Seq #: 1
         Seq Num: 8  EntryPtr: 0x5A0B8B38
           Type: PCALC Link  Action: Add  Bundle Seq #: 2
         Seq Num: 9  EntryPtr: 0x5A0B8DA0
           Type: PCALC Link  Action: Add  Bundle Seq #: 2
         Seq Num: 10  EntryPtr: 0x59FF1BB0
           Type: PCALC Node  Action: Add  Bundle Seq #: 1
         Seq Num: 11  EntryPtr: 0x5A0B9008
           Type: PCALC Link  Action: Add  Bundle Seq #: 2
         Seq Num: 32  EntryPtr: 0x586F2A50
           Type: PCALC Node  Action: Add  Bundle Seq #: 4
         Seq Num: 33  EntryPtr: 0x5949FC58
           Type: PCALC Link  Action: Add  Bundle Seq #: 5
         Seq Num: 34  EntryPtr: 0x5949FEC0
           Type: PCALC Link  Action: Add  Bundle Seq #: 5
         Seq Num: 60  EntryPtr: 0x5725BC30
           Type: lm_tunnel_t  Action: Add  Bundle Seq #: 12
         Seq Num: 61  EntryPtr: 0x5725BE00
           Type: nsr_tspvif_setup  Action: Add  Bundle Seq #: 12
         Seq Num: 62  EntryPtr: 0x59FC9E80
           Type: nsr_slsp_head  Action: Add  Bundle Seq #: 12
         Seq Num: 79  EntryPtr: 0x59296190
           Type: lm_tunnel_t  Action: Add  Bundle Seq #: 16
         Seq Num: 80  EntryPtr: 0x59296360
           Type: nsr_tspvif_setup  Action: Add  Bundle Seq #: 16
         Seq Num: 81  EntryPtr: 0x571EB7F8
           Type: nsr_slsp_head  Action: Add  Bundle Seq #: 16
         Seq Num: 98  EntryPtr: 0x5A04B770
           Type: lm_tunnel_t  Action: Add  Bundle Seq #: 20
         Seq Num: 99  EntryPtr: 0x59296108
           Type: nsr_tspvif_setup  Action: Add  Bundle Seq #: 20
         Seq Num: 100  EntryPtr: 0x57258670
           Type: nsr_slsp_head  Action: Add  Bundle Seq #: 20
         Seq Num: 101  EntryPtr: 0x5A060348
           Type: lm_tunnel_t  Action: Add  Bundle Seq #: 20
         Seq Num: 102  EntryPtr: 0x5A03B2B0
           Type: nsr_slsp_head  Action: Add  Bundle Seq #: 20
         Seq Num: 103  EntryPtr: 0x5B1F12B0
           Type: lm_tunnel_t  Action: Add  Bundle Seq #: 20
         Seq Num: 104  EntryPtr: 0x5A03B400
           Type: nsr_slsp_head  Action: Add  Bundle Seq #: 20
         Seq Num: 121  EntryPtr: 0x57258358
           Type: PCALC Node  Action: Add  Bundle Seq #: 21
         Seq Num: 122  EntryPtr: 0x59FAF080
           Type: PCALC Link  Action: Add  Bundle Seq #: 22
         Seq Num: 123  EntryPtr: 0x59502AC0
           Type: PCALC Link  Action: Add  Bundle Seq #: 23
         Seq Num: 124  EntryPtr: 0x594AE918
           Type: PCALC Link  Action: Add  Bundle Seq #: 21
         Seq Num: 125  EntryPtr: 0x59502120
           Type: PCALC Link  Action: Add  Bundle Seq #: 23
         Seq Num: 126  EntryPtr: 0x59FAFA20
           Type: PCALC Link  Action: Add  Bundle Seq #: 22
         Seq Num: 129  EntryPtr: 0x59FC9CC0
           Type: PCALC Node  Action: Add  Bundle Seq #: 24
         Seq Num: 130  EntryPtr: 0x5A060518
           Type: PCALC Link  Action: Add  Bundle Seq #: 24
         Seq Num: 131  EntryPtr: 0x59FAFC88
           Type: PCALC Link  Action: Add  Bundle Seq #: 24
      
      Device# show mpls traffic-eng nsr database lsp-frr
      LSP-FRR WRITE DB
      
      Tun ID: 1   LSP ID: 10   (P2MP)
        SubGrp ID:   1
        SubGrp Orig: 10.1.0.1
        Dest:   10.2.0.1
        Sender: 10.1.0.1     Ext. Tun ID: 10.1.0.1
        Header:
          State: Checkpointed     Action: Add
          Seq #: 45               Flags: 0x0
        Data:
          te_nsr_seq_num: 164
          LSP Protected if_num: 3 (Ethernet0/0)
          LSP Next-Hop Info: rrr_id 10.2.0.1, address 10.2.0.1, label 17
          LSP Next-Next-Hop Info: rrr_id 0.0.0.0, address 0.0.0.0, label 16777216
          LSP Hold Priority: 7
          LSP bw_type: any pool
          LSP desired_bit_type: 0x0n    LSP Backup ERO address 10.1.2.2
          LSP advertise_bw: NO
      
      LSP-FRR READ DB
      
      Device# show mpls traffic-eng nsr database lsp-frr filter destination ?
        Hostname or A.B.C.D  IP addr or name of destination (tunnel tail)
      
      Device# show mpls traffic-eng nsr database lsp-frr filter lsp-id ?
        <0-65535>  LSP ID
      
      Device# show mpls traffic-eng nsr database lsp-frr filter source ?
        Hostname or A.B.C.D  IP addr or name of sender (tunnel head)
      
      Device# show mpls traffic-eng nsr database lsp-frr filter tunnel-id ?
        <0-65535>  tunnel ID
      
      Device# show mpls traffic-eng nsr database lsp-head
      SLSP_HEAD WRITE DB
      
        Tun ID: 0  (P2P), lsp_id: 7
        Header:
          State: Checkpointed     Action: Add
          Seq #: 6                Flags: 0x0
        Data:
          te_nsr_seq_num: 18
          bandwidth: 5, thead_flags: 0x1, popt: 1
          feature flags: none
          output_if_num: 11, output_nhop: 10.1.3.2
          backup_output_if_num: 0
          output_tag: 19
          backup_output_tag: 16777218
          RRR path setup info
            Destination: 10.3.0.1, Id: 10.3.0.1 Router Node (ospf) flag:0x0
            IGP: ospf, IGP area: 0, Number of hops: 3, metric: 128
            Hop 0: 10.1.3.2, Id: 10.2.0.1 Router Node (ospf), flag:0x0
            Hop 1: 10.2.3.3, Id: 10.3.0.1 Router Node (ospf), flag:0x0
            Hop 2: 10.3.0.1, Id: 10.3.0.1 Router Node (ospf), flag:0x0
      
      SLSP_HEAD READ DB
      
      Device# show mpls traffic-eng nsr database lsp-head filter destination ?
        Hostname or A.B.C.D  IP addr or name of destination (tunnel tail)
      
      Device# show mpls traffic-eng nsr database lsp-head filter lsp-id ?
        <0-65535>  LSP ID
      
      Device# show mpls traffic-eng nsr database lsp-head filter source ?
        Hostname or A.B.C.D  IP addr or name of sender (tunnel head)
      
      Device# show mpls traffic-eng nsr database lsp-head filter tunnel-id ?
        <0-65535>  tunnel ID
      
      Device# show mpls traffic-eng nsr database pcalc auto-mesh
        PCALC Auto-Mesh WRITE DB:
      
        PCALC Auto-Mesh READ DB:
      
      Device# show mpls traffic-eng nsr database pcalc nbr
       PCALC Link WRITE DB:
        Header:
          State: Checkpointed     Action: Add
          Seq #: 4                Flags: 0x0
          TE NSR Seq #: 26
          IGP Id:10.1.2.2     Area:0   Nbr IGP Id:10.1.2.2
          IP:10.1.2.1         Nbr IP:0.0.0.0  Framgment ID:1
          Intf ID    Local:0     Remote:0
      
      
       PCALC Link READ DB:
      
      Device# show mpls traffic-eng nsr database pcalc node
       PCALC Node WRITE DB:
        Header:
          State: Checkpointed     Action: Add
          Seq #: 4                Flags: 0x0
          TE NSR Seq #: 25
          Router Id 10.1.0.1
          node_id 1
          num_links 2
          tlvs_len 0
          flags 0x6
          rid_frag_id 0
          bcid_mismatch 0
          incarnation  0
      
      Device# show mpls traffic-eng nsr database pcalc srlg
       PCALC SRLGs WRITE DB:
      
       PCALC SRLGs READ DB:
      
      Device# show mpls traffic-eng nsr database summary
      MPLS-TE Non-Stop-Routing is ENABLED
      
      Write DB Coalescing: INACTIVE
      Write DB:
        Send-Pending:     0
        Ack-Pending :     0
        Checkpointed:    35
        Total       :    35
      
      Read DB:
        Total       :     0
      
      Device# show mpls traffic-eng nsr database tun-setup
      TSPVIF_SETUP WRITE DB
      
        Tun ID: 0, lsp_id: 7
        Header:
          State: Checkpointed     Action: Add
          Seq #: 6                Flags: 0x0
        Data:
          te_nsr_seq_num: 17
          Setup Evt: allocating current tspsetup, chkpt_flags: 0x0
      
      TSPVIF_SETUP READ DB
      

      Verifying MPLS Traffic Engineering Nonstop Routing Support Out-of-Sync Databases

      The following example shows how to verify information pertaining to the out-of-sync databases supporting MPLS TE NSR. The out-of-sync databases indicate the active and standby RSP whose states are not in sync with each other:

      enable
       show mpls traffic-eng nsr oos
      		Tunnel: 4000
        Time created: 02/20/13-12:03:13
        Time synced: 02/20/13-12:03:14
        Key:
          Source:                    10.1.0.1
          Destination:               10.2.0.1
          ID:                        4000
          Ext Tun ID:                10.1.0.1
          Instance:                  4
          Slsp p2mp ID:              0
          Slsp p2mp subgroup ID:     0
          Slsp p2mp subgroup origin: 0
      
        RSVP States:
          Signal:       Unknown
          Fast-Reroute: Disabled
          Delete State: True
      
        TE States:
          Signal:       Unknown
          Fast-Reroute: Disabled
          Delete State: True
      
        Update History:
          Total number of updates: 2
      
            Update Time: 02/20/13-12:03:13
              Client Updating: RSVP
              Update State:
                Signal:       Unknown
                Fast-Reroute: Unknown
                Delete State: True
      
            Update Time: 02/20/13-12:03:14
              Client Updating: TE
              Update State:
                Signal:       Unknown
                Fast-Reroute: Unknown
                Delete State: True
      
      

      Verifying MPLS Traffic Engineering Nonstop Routing Support Information Summary

      The following example shows how to view a summary of MPLS TE NSR information such as the current TE NSR state (standby-hot / recovering / staling / active), recovery time, and the recovery result (success / failure):

      enable
       show mpls traffic-eng nsr summary
      		State:
        Graceful-Restart: Disabled
        HA state: Active
        Checkpointing: Allowed
        Messages:
        	Send timer: not running (Interval: 1000 msec)
        	Items sent per Interval: 200
        	CF buffer size used: 3968
      
      

      Additional References for MPLS Traffic Engineering Nonstop Routing Support

      Related Documents

      Related Topic

      Document Title

      Cisco IOS commands

      Cisco IOS Master Command List, All Releases

      Multiprotocol Label Switching High Availability Configuration Guide

      Cisco IOS XE Multiprotocol Label Switching High Availability Configuration Guide

      MPLS TE commands

      Cisco IOS Multiprotocol Label Switching Command Reference

      Standards and RFCs

      Standard/RFC

      Title

      RFC 2205

      Resource Reservation Protocol (RSVP)

      Technical Assistance

      Description

      Link

      The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

      http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

      Feature Information for MPLS Traffic Engineering Nonstop Routing Support

      The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

      Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to . An account on Cisco.com is not required.
      Table 1 Feature Information for MPLS Traffic Engineering Nonstop Routing Support

      Feature Name

      Releases

      Feature Information

      MPLS Traffic Engineering Nonstop Routing Support

      Cisco IOS XE Release 3.10S, 3.13S

      The MPLS Traffic Engineering Non-Stop Routing Support feature assists the Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) routing devices to recover from an interruption in service. The MPLS TE Nonstop Routing (NSR) support functionality also defines the checkpoint and recovery scheme for the devices.

      From Cisco IOS XE 3.13S, support was provided for ASR 903.

      The following commands were introduced: mpls traffic-eng nsr and show mpls traffic-eng nsr.