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.

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.

How to Configure 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 Action Purpose

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 Action Purpose

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 www.cisco.com/go/cfn. 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 .