Guest

Cisco IOS Software Releases 12.0 S

MPLS Safe Label Reuse After Router Restart

  • Viewing Options

  • PDF (443.5 KB)
  • Feedback
MPLS Safe Label Reuse After Router Restart

Table Of Contents

MPLS Safe Label Reuse After Router Restart

Contents

Restrictions for MPLS Safe Label Reuse

Information About MPLS Safe Label Reuse

Safe Label Reuse After a Router Restart Feature Description

Persistent Data for MPLS Safe Label Reuse

Persistent Data for MPLS Safe Label Reuse Not Available at Router Restart

Configurable MPLS Safe Label Reuse Parameters

Features Supported for MPLS Safe Label Reuse After Router Restart

How to Configure MPLS Safe Label Reuse Parameters

Disabling and Reenabling MPLS Safe Label Reuse

Disabling MPLS Safe Label Reuse

Reenabling MPLS Safe Label Reuse

Setting the MPLS Safe Label Reuse Timeouts

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found

Setting Router Behavior When No Record of MPLS Label Usage Exists

Setting the Allocation Algorithm for MPLS Safe Label Reuse

Displaying Information About MPLS Label Usage

Configuration Examples for MPLS Safe Label Reuse

Disabling and Reenabling MPLS Safe Label Reuse: Example

Setting the MPLS Safe Label Reuse Timeouts: Example

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found: Example

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found: Example

Setting Router Behavior When No Record of MPLS Label Usage Exists: Example

Setting the Allocation Algorithm for MPLS Safe Label Reuse: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Command Reference

allocation

debug mpls pdata restart

mpls label restart

pdata absent state free

pdata absent timeout

pdata present timeout

show mpls label restart

unsafe

Glossary

Feature Information for MPLS Safe Label Reuse After Router Restart


MPLS Safe Label Reuse After Router Restart


First Published: June 30, 2006
Last Updated: June 30, 2006

The MPLS Safe Label Reuse After Router Restart feature provides the means to preserve information about the state of Multiprotocol Label Switching (MPLS) label usage during normal router operation across a router restart. This ensures that the router avoids reusing labels that were in use before the restart until it is safe to do so. The MPLS Safe Label Reuse After Router Restart feature provides a more secure network by preventing network traffic from being forwarded incorrectly during the short period following router restart.

Finding Feature Information in This Module

Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for MPLS Safe Label Reuse After Router Restart" section.

Finding Support Information for Platforms and Cisco IOS Software Images

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS and Catalyst OS software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Restrictions for MPLS Safe Label Reuse

Information About MPLS Safe Label Reuse

How to Configure MPLS Safe Label Reuse Parameters

Configuration Examples for MPLS Safe Label Reuse

Additional References

Command Reference

Glossary

Feature Information for MPLS Safe Label Reuse After Router Restart

Restrictions for MPLS Safe Label Reuse

This feature does not track the use and reuse of statically assigned labels.

If the steady-state requirement for MPLS labels exceeds half the configured label space, MPLS convergence might be delayed following a non-stateful switchover (SSO) restart. The pool of available labels could be insufficient to meet the demand until the safe-to-reuse timer expires.

On rare occasions with redundant platforms, the persistent data required to prevent unsafe label reuse following a restart on the Route Processor (RP) selected as the active RP might not be an up-to-date record of label use prior to the restart. This could occur, if prior to the restart, the:

Label usage information on the active RP was updated when the standby RP was inaccessible.

Restart occurred before the active RP has the opportunity to update the standby persistent data.

RP selected to be the active RP was the standby prior to the restart.

If this occurs, it is undetectable and the MPLS Safe Label Reuse feature cannot prevent unsafe label reuse following such a restart.

Information About MPLS Safe Label Reuse

You should understand the following information before using the MPLS Safe Label Reuse After Router Restart feature:

Safe Label Reuse After a Router Restart Feature Description

Persistent Data for MPLS Safe Label Reuse

Persistent Data for MPLS Safe Label Reuse Not Available at Router Restart

Configurable MPLS Safe Label Reuse Parameters

Features Supported for MPLS Safe Label Reuse After Router Restart

Safe Label Reuse After a Router Restart Feature Description

If the MPLS Safe Label Reuse feature is not configured, when a router restarts no record of local labels in use prior to the restart is available. Such a router might bind local labels to Forwarding Equivalence Classes (FECs) differently than it did before the restart. If this happens, traffic could be forwarded incorrectly for a short period of time until neighbor routers remove forwarding information based on labels learned from the restarting router prior to its restart.

The MPLS Safe Label Reuse After Router Restart feature, available in Cisco IOS Release 12.0(32)SY and later releases, prevents a restarting router from using local labels that had been in use prior to the restart until it is safe to do so.

With this feature, the router keeps a record of the labels that are in use during normal operation in a persistent data file located on its NVRAM device, which is found on all Cisco IOS platforms. For example:

Router# dir nvram: 

  Directory of nvram:/
   2044  -rw-        6039                  Mar 01 2006 startup-config
         ...
      1  ----         122                  Apr 22 2006 persistent-data <--- In this file
  2093048 bytes total (2084909 bytes free)

When the router reloads, its persistent data file has a record of the labels in use before the restart. This allows the MPLS label allocator to avoid labels in use before the restart until it is safe to reuse them.

With the MPLS Safe Label Reuse feature, during normal operation, a router updates the persistent-data file as required to represent its label usage to prepare for the next restart.

The MPLS Safe Label Reuse feature is enabled by default in Cisco IOS Release 12.0(32)SY and later releases. However, you can disable the feature and change some aspects of the feature. For information on what aspects you can change, see the "Configurable MPLS Safe Label Reuse Parameters" section.


Note A switchover restart in MPLS SSO mode will not result in incorrect label reuse because MPLS SSO saves local label bindings across SSO switchovers. However, a router configured in SSO mode might leave SSO mode. While the router operates in non-SSO mode it is at risk for unsafe label reuse should it restart unless the MPLS Safe Label Reuse feature is in use.



Note MPLS SSO is not supported in Cisco IOS Release 12.0(32)SY.


Persistent Data for MPLS Safe Label Reuse

The router saves and records information about MPLS label usage as persistent data or pdata in the persistent-data file on the NVRAM device. Persistent data about MPLS labels is for groups of labels called label blocks. The persistent data for a label block is called a pblock. The pblock represents the usage state of the labels in the label block. The usage states for pblocks are:

In-use—The labels represented by the label block are in use by the MPLS label allocator. Immediately after a restart, the in-use blocks transition to the timing-out state.

Free—Label blocks not in use by the MPLS label allocator and available should the label allocator require more labels than available in the in-use label blocks. When the label allocator takes free label blocks, the blocks transition to the in-use state.

Timing-out—Label blocks that are not available for allocation until the safe-to-use timer expires. When the timer expires, timing-out blocks transition to the free state.

Immediately following a restart, the router reads the state of the pblocks from the persistent-data file to determine which pblocks, if any, are immediately available for use. The router confines label allocation to pblocks not in use before the restart until the safe-to-use timer expires. If all pblocks are in the in-use state when a restart occurs, no labels are available until the safe-to-use timer expires.

You might be running MPLS applications that require the use of most (or all) labels from the label space. If this is the case, immediately after a restart most (or all) label pblocks would be in the timing-out state and temporarily unavailable. The labels corresponding to these pblocks would not be available until the safe-to-use timer expires.


Note The default label range is 16 to 100000, which makes 99985 labels available for use. You are unlikely to see delays in label allocation after a router restart, unless your label allocation requirements exceed 49,992. To avoid label allocation delays after a restart, configure a label space (mpls label range command) that is slightly more than twice the size of your label requirements.


Persistent Data for MPLS Safe Label Reuse Not Available at Router Restart

The first time that you download and use Cisco IOS Release12.0(32)SY or a later release that includes the MPLS Safe Label Reuse feature, no MPLS pdata is available at router restart. Hereafter, the router collects and stores information about label use in persistent memory.

You can disable the MPLS Safe Label Reuse feature with the mpls-label-restart configuration mode unsafe command. When you disable the feature, pdata is removed from the persistent data. The next time the router reloads, no pdata exists.

Another reason that pdata might not be available at router restart is a lack of space on the NVRAM device. The amount of pdata the MPLS Safe Label Reuse feature stores in the persistent-data file to track label usage is small. The persistent-data file shares the NVRAM with the router startup configuration file. The Cisco IOS Release 12.0(32)SY implementation of the NVRAM file system gives priority to the startup configuration file. If you save a large running configuration file that requires the entire NVRAM, the configuration file overwrites the persistent-data file.

Configurable MPLS Safe Label Reuse Parameters

The MPLS Safe Label Reuse After Router Restart feature is enabled by default in Cisco IOS Release 12.0(32)SY and later releases. Even though no configuration is required, you can disable the feature and change some parameters that govern its operation.

You Can Disable the Feature

You might want to disable the feature if:

The problem of unsafe MPLS label reuse following a router restart is unlikely to occur in your network.

The number of MPLS labels available immediately after restart does not meet the need for labels in your network and you are willing to accept the possibility that MPLS traffic might be misforwarded for a short period following a router restart.

See the "Disabling and Reenabling MPLS Safe Label Reuse" section for instructions on disabling the MPLS Safe Label Reuse After Router Restart feature.

You Can Change Timeout Values

Preventing unsafe label reuse depends on a safe-to-use timeout. You can change the timeout values used when a router restarts. There are two timeout values: one used when there is persistent data recording label use prior to the restart and one used when there is not. The default timeout for both is 3 minutes, and you can configure each one.

You might want to change these values to account for the rate at which neighbor routers in your network update their forwarding tables to remove labels learned from the restarting router. For example:

If all the neighbor routers are known to be able to detect the restart and to clear stale forwarding information within 30 seconds, then you would want to reduce the timeouts accordingly.

If one of the neighbors is known to take 6 minutes to detect the restart and to clear stale forwarding information, you would want to increase the timeout values.

See the "Setting the MPLS Safe Label Reuse Timeouts" section for instructions for setting the timeout period for safe MPLS label reuse.

You Can Set Router Behavior When No Pdata Exists at Restart

If no record of previous label use exists, the default behavior is for the router to proceed as though all MPLS labels were in use before the restart and prevent the allocation of any label until the safe-to-reuse timer expires. You might want to change the router behavior to proceed as though no labels were in use before the reload for the same reasons that you might want to disable the feature:

The problem of unsafe MPLS label reuse following a router restart is unlikely to occur in your network.

The number of MPLS labels available immediately after restart does not meet the need for labels in your network and you are willing to accept the possibility that MPLS traffic might be misforwarded for a short period following a router restart.

See the "Setting Router Behavior When No Record of MPLS Label Usage Exists" section for information on choosing how the router should proceed when no record of previous label usage exists.

You Can Change the Label Allocation Algorithm

You can also select the method by which the MPLS label allocator allocates pblocks and the labels corresponding to the pblocks. If you do not explicitly configure an allocation algorithm, the platform specifies the default algorithm to be used. Table 1 describes the allocation algorithms provided by the MPLS Safe Label Reuse After Router Restart feature.

Table 1 Allocation Algorithms for MPLS Label Reuse 

Allocation Algorithm
Description

Exhaust Available

The MPLS label allocator allocates the smallest free label from the set of in-use pblocks and allocates all labels corresponding to those pblocks before requesting more pblocks.

This algorithm typically uses fewer pblocks than the other algorithms, making more pblocks available following restart than the other algorithms at the cost of a sparsely allocated label space.

Dense

The MPLS label allocator allocates the smallest free label even if the label allocator must wait for pblocks to transition from the timing-out state to the free state.

This algorithm results in a densely allocated label space at the cost of consuming all pblocks. This increases the likelihood of label allocation delays following restart.

Fractional

This algorithm confines label allocation to the lower half of the configured label space until the smallest available free label is outside the lower half of the label space. When this occurs the label allocator requests more pblocks and resumes confining label allocation to the lower half of the label space until the smallest available free label is outside the lower half, at which point it requests more pblocks. The label allocator continues in this fashion until all of the pblocks are in use at which time it always allocates the smallest free label.

This algorithm is a compromise between the Exhaust Available and Dense algorithms. The Fractional algorithm:

Provides a label space less densely populated than the Dense algorithm does, but more densely populated than the Exhaust Available algorithm does.

Tends to use fewer pblocks than the Dense algorithm does, but more pblocks than the Exhaust Available algorithm does.

Tends to leave more pblocks available for immediate use following restart than the Dense algorithm does and fewer pblocks available for immediate use following restart than the Exhaust Available algorithm does.


See the "Setting the Allocation Algorithm for MPLS Safe Label Reuse" section for information on how to configure an allocation algorithm.

Features Supported for MPLS Safe Label Reuse After Router Restart

MPLS Safe Label Reuse After Router Restart supports the following features for Cisco IOS Release 12.0(32)SY and later releases:

All MPLS platforms

Single and dual RP configurations

Redundancy modes: route processor redundancy (RPR), RPR+, MPLS SSO coexistence, and SSO

Any-version-to-any-version restarts, including non-In-Service Software Upgrade (ISSU)- capable-to-ISSU-capable restarts and vice versa


Note MPLS SSO and ISSU are not supported in Cisco IOS Release 12.0(23)SY.


How to Configure MPLS Safe Label Reuse Parameters

The MPLS Safe Label Reuse feature is enabled by default with Cisco IOS Release 12.0(32)SY and later releases. The MPLS Safe Label Reuse feature ensures the safe reuse of MPLS labels after a router restart.

The following sections describe how to disable and reenable the MPLS Safe Label Reuse feature and how to change configurable parameters for the feature:

Disabling and Reenabling MPLS Safe Label Reuse (optional)

Setting the MPLS Safe Label Reuse Timeouts (optional)

Setting Router Behavior When No Record of MPLS Label Usage Exists (optional)

Setting the Allocation Algorithm for MPLS Safe Label Reuse (optional)

Displaying Information About MPLS Label Usage (optional)

Disabling and Reenabling MPLS Safe Label Reuse

Perform the following tasks to disable and reenable the MPLS Safe Label Reuse After Router Restart feature.

Disabling MPLS Safe Label Reuse

Reenabling MPLS Safe Label Reuse

Disabling MPLS Safe Label Reuse

Perform the following task to disable safe MPLS label reuse after a router restart. You might want to disable the MPLS Safe Label Reuse feature if:

You judge your network is not susceptible to unsafe label reuse (for example, because you know that neighbor routers always discard the labels learned from a restarting router more quickly than it takes the router to restart).

Most or all MPLS labels must be available immediately following a router restart to meet the label allocation needs of your network regardless of the risk of temporarily misforwarding MPLS traffic.

Prerequisites

You must be using Cisco IOS Release 12.0(32)SY or a later release that supports the MPLS Safe Label Reuse After Router Restart feature.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. unsafe

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

unsafe

Example:

Router(mpls-label-restart)# unsafe

Disables the mechanism that prevents unsafe MPLS label reuse after a router restart.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Reenabling MPLS Safe Label Reuse

Perform the following task to reenable MPLS safe label reuse after a router restart. You might want to reenable the MPLS Safe Label Reuse feature if after disabling the feature you judge that your network might be susceptible to temporary unsafe label reuse and that the risk is not acceptable.

Prerequisites

You must be using Cisco IOS Release 12.0(32)SY or a later release that supports the MPLS Safe Label Reuse After Router Restart feature.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. no unsafe

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

no unsafe

Example:

Router(mpls-label-restart)# no unsafe

Enables the mechanism that prevents unsafe MPLS label reuse after a router restart.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Setting the MPLS Safe Label Reuse Timeouts

Perform the following tasks to set the MPLS safe label reuse timeouts:

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found

You might want to change the timeout values to account for the rate at which neighbor routers in your network update their forwarding tables to remove labels learned from the restarting router. For example:

If all the neighbor routers are known to be able to detect the restart and to clear stale forwarding information within 30 seconds, then you would want to reduce the timeouts accordingly.

If one of the neighbors is known to take 6 minutes to detect the restart and to clear stale forwarding information, you would want to increase the timeout values.

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found

Perform the following task to set the MPLS safe label reuse timeout when the router finds persistent data that describes MPLS label usage.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. pdata present timeout seconds

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

pdata present timeout seconds

Example:

Router(mpls-label-restart)# pdata present timeout 240

Sets the MPLS label reuse timeout value when the router finds persistent data that describes MPLS label usage.

The seconds argument is the timeout value in seconds.

This is the time from router restart that must elapse before the MPLS labels in the timing-out state become available for label allocation. This ensures safe MPLS label reuse after a router startup.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found

Perform the following task to set the MPLS safe label reuse timer when the router does not find persistent data that describes MPLS label usage.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. pdata absent timeout seconds

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

pdata absent timeout seconds

Example:

Router(mpls-label-restart)# pdata absent timeout 180

Sets the MPLS label reuse timeout value when the router does not find persistent data that describes MPLS label usage.

The seconds argument is the timeout value in seconds.

This is the time from router restart that must elapse before the MPLS labels are available for label allocation. This ensures safe MPLS label reuse after a router startup when no persistent data is found.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Setting Router Behavior When No Record of MPLS Label Usage Exists

Perform the following task to set router behavior when no record of MPLS label usage exists.

The default behavior in this situation is for the router to proceed as if all MPLS labels were in use before the router restarts. This means that no MPLS labels are available after the restart until a safe-to-reuse timer expires.

If you change the state of all MPLS labels to the free state, all labels are available immediately after the restart, but you risk temporarily unsafe label reuse. Packets meant for one destination might be forwarded to a different destination temporarily. You might configure the router to consider all MPLS labels to be in the free state when the router finds no label usage record if:

You judge that the risk of restarting without regard to previous label usage is acceptable the few times MPLS pdata might not be available.

Your network is not at risk for incorrectly forwarded packets due to the premature reuse of labels following a restart.

You require more MPLS labels be available immediately following a router restart than the MPLS Safe Label Reuse After Router Restart feature permits.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. pdata absent state free

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

pdata absent state free

Example:

Router(mpls-label-restart)# pdata absent state free

Sets the state of all MPLS labels to the free state when persistent data describing MPLS label usage is not found following a router restart.

The no form of this command sets all the MPLS labels to the in-use state if no persistent data is found following restart.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Setting the Allocation Algorithm for MPLS Safe Label Reuse

Perform the following tasks to set the algorithm to use for the allocation of MPLS labels.

Refer to the "Configurable MPLS Safe Label Reuse Parameters" section for a description of the available allocation algorithms.

SUMMARY STEPS

1. enable

2. configure terminal

3. mpls label restart

4. allocation {exhaust-available | dense | fractional}

5. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

mpls label restart

Example:

Router(config)# mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

Step 4 

allocation {exhaust-available | dense | fractional}

Example:

Router(mpls-label-restart)# allocation fractional


Sets the algorithm that the MPLS label allocator uses to allocate pblocks and labels. For a description of the exhaust-available, dense, and fractional algorithms, see the "Configurable MPLS Safe Label Reuse Parameters" section.

To revert to the default algorithm for the platform, use the no allocation command.

Step 5 

end

Example:

Router(mpls-label-restart)# end

Exits to privileged EXEC mode.

Displaying Information About MPLS Label Usage

Perform the following task to display information about safe MPLS label usage.

SUMMARY STEPS

1. enable

2. show mpls label restart

3. debug mpls pdata restart

4. exit

DETAILED STEPS


Step 1 enable

Use this command to enable privileged EXEC mode. Enter a password, if required. For example:

Router> enable
Router# 

Step 2 show mpls label restart

Use this command to display information related to preventing incorrect MPLS label reuse following a router restarts. For example:

Router# show mpls label restart detail

Configuration:
  Protection enabled
  Safe to reuse timeouts pdata present: 300 sec; absent: 300 sec
  State pdata absent: InUse;
  Pblock label alloc method (default is exhaust-available):
    Exhaust (allocate all labels from InUse pblocks first)
State:  unsafe to reuse; unsafe time remaining: 143 sec
  PBlocks:
    Number 32; Prior usage: 6; Inuse: 16; Free: 10; Timingout: 6
    PBlock allocs/failures before safe: 2/0
    States (U InUse; F Free; T TimingOut; P InUsePending):
       [0-31]  T T T T T T U U U U U U U U U U U U U U U U F F F F F F F F F F 
       Label space: [16,200]; Total labels: 185
  Available: 89; Allocated: 52; Free 37

This sample output provides the following information about MPLS safe label reuse:

The mechanism to ensure safe MPLS label reuse after a router restart is enabled.

The safe-to-reuse timer to use is set to 300 seconds, both when label use pdata is found on restart and when it is not.

The state of all MPLS labels in the absence of persistent data is in-use and the labels are unavailable until the timeout expires in 143 seconds.

The default platform allocation algorithm is Exhaust Available.

The label allocation algorithm is Exhaust Available (allocate all labels from the in-use pblocks first).

The MPLS label usage information recorded in the persistent data file.

Step 3 debug mpls pdata restart

Use this command to display debug output that traces actions related to the management and use of MPLS persistent data that controls label use following a router restart. For example:

Router# debug mpls pdata restart

16:55:14.699: mpdm: safe to reuse timer
16:55:14.699: mpdm: safe to reuse timeout transaction
16:55:14.699: mpdm: need to update pdata file
16:55:14.699: mpdm: encode in-mem pblock db
16:55:14.699: mpdm: aggr set 0: F F F F F F U U U U U U U U U U U U U U U U F F F F F F F 
F F F
16:55:14.699: mpdm: p-data updated
16:55:14.699: mpdm: pdata write completion transaction
16:55:49.015: mpdm: periodic timer
16:55:49.015: mpdm: kill mpdm process
16:55:49.015: mpdm: cleanup mpdm process
16:56:27.059: mpdm: pblock alloc transaction
16:56:27.059: mpdm: need to update pdata file
16:56:27.059: mpdm: encode in-mem pblock db
16:56:27.059: mpdm: aggr set 0: U U U U F F U U U U U U U U U U U U U U U U F F F F F F F 
F F F
16:56:27.059: mpdm: start mpls pdata process
16:56:27.099: mpdm: init mpls pdata process
16:56:27.099: mpdm: p-data updated
16:56:27.099: mpdm: pdata write completion transaction
16:56:27.099: mpdm: mpls_pblocks_avail(aggrset 0, modulo 32)
16:56:27.099: mpdm: region 0 new submaps/pblocks: [0] [1] [2] [3]
16:56:29.623: mpdm: pblock alloc transaction
16:56:29.623: mpdm: need to update pdata file
16:56:29.623: mpdm: encode in-mem pblock db
16:56:29.623: mpdm: aggr set 0: U U U U U U U U U U U U U U U U U U U U U U U U F F F F F 
F F F
16:56:29.631: mpdm: p-data updated
16:56:29.631: mpdm: pdata write completion transaction
16:56:29.631: mpdm: mpls_pblocks_avail(aggrset 0, modulo 32)
16:56:29.631: mpdm: region 0 new submaps/pblocks: [4] [5] [22] [23]
.
.
.

This sample output provides the following information about MPLS safe label reuse and label allocation:

What happens when the safe-to-reuse timer expires (time 16:55:14.699: the pdata file is updated with the new state: FFFFFFUUU. . .FFF (F represents pblocks in the free state, U represents pblocks in the in-use state)

A periodic (1 minute) timer expires and notices that the process (mpdm process) used to write to the persistent data file is no longer needed (time 16:55:49.015)

The following two processes are repeated when the label allocator needs more new pblocks (times 16:56:29.623 and 16:56:29.631):

The label allocator needs new pblocks; the allocation of pblocks requires an update to the persistent data file; the update requires the mpdm process that is created (time 16:56:27.059)

The mpdm process updates the persistent data file; the label manager is notified that the new pblocks it requested are available (time 16:56:27.099)


Step 4 exit

Use this command to exit to user EXEC mode. For example:

Router# exit
Router>

Configuration Examples for MPLS Safe Label Reuse

This section contains the following configuration examples for safe MPLS label reuse:

Disabling and Reenabling MPLS Safe Label Reuse: Example

Setting the MPLS Safe Label Reuse Timeouts: Example

Setting Router Behavior When No Record of MPLS Label Usage Exists: Example

Setting the Allocation Algorithm for MPLS Safe Label Reuse: Example

Disabling and Reenabling MPLS Safe Label Reuse: Example

The following configuration example shows how to disable and reenable safe MPLS label reuse.

To disable the MPLS Safe Label Reuse After Router Restart feature:

configure terminal
! 
mpls label restart 
 unsafe
 end

To reenable the MPLS Safe Label Reuse After Router Restart feature:

configure terminal
! 
mpls label restart 
 no unsafe
 end

Setting the MPLS Safe Label Reuse Timeouts: Example

The following configuration examples show how to set the MPLS safe label reuse timeouts:

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found: Example

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found: Example

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Found: Example

The following example shows how to set the MPLS safe label reuse timeout when persistent data is found:

configure terminal
! 
mpls label restart
 pdata present timeout 250
 end

The safe-to-reuse timer is set to 250 seconds.

Setting the MPLS Safe Label Reuse Timeout When Persistent Data Is Not Found: Example

The following example shows how to set the MPLS safe label reuse timeout when persistent data is not found:

configure terminal
! 
mpls label restart
 pdata absent timeout 250
 end

The safe-to-reuse timer is set to 250 seconds.

Setting Router Behavior When No Record of MPLS Label Usage Exists: Example

The following configuration example shows how to set the router behavior when no record of MPLS label usage exists. The default is for the router to proceed as though all MPLS labels were in use prior to the router restart and therefore unavailable until the safe-to reuse timer expires.

This example shows how to set router behavior to proceed as though all labels are available for allocation immediately following a router restart:

configure terminal
! 
mpls label restart
 pdata absent state free
 end

To return to the default router behavior (all labels are considered to have been in use prior to restart when there is no record of label usage), enter the following:

configure terminal
! 
mpls label restart
 no pdata absent state 
 end

Setting the Allocation Algorithm for MPLS Safe Label Reuse: Example

The following example shows how to set the allocation algorithm for MPLS safe label reuse:

configure terminal
! 
mpls label restart
 allocation fractional
 end

This example sets the Fractional algorithm for the allocation of MPLS labels by the MPLS label allocator. For a description of the available algorithms, see the "Configurable MPLS Safe Label Reuse Parameters" section.

Additional References

The following sections provide references related to the MPLS Safe Label Reuse After Router Restart feature.

Related Documents

Related Topic
Document Title

Tasks and concepts related to MPLS and MPLS applications

Cisco IOS Multiprotocol Label Switching Configuration Guide, Release 12.4


Standards

Standard
Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.


MIBs

MIB
MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


RFCs

RFC
Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.


Technical Assistance

Description
Link

The Cisco Technical Support & Documentation website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/techsupport


Command Reference

This section documents new commands only.

allocation

debug mpls pdata restart

mpls label restart

pdata absent state free

pdata absent timeout

pdata present timeout

show mpls label restart

unsafe

allocation

To configure the algorithm that the Multiprotocol Label Switching (MPLS) label allocator uses to allocate persistent blocks (pblocks) and labels, use the allocation command in mpls-label-restart configuration mode. To revert to the platform default allocation, use the no form of this command.

allocation {exhaust-available | dense | fractional}

no allocation

Syntax Description

exhaust-available

Allocates the smallest free label from the set of in-use pblocks and allocates all labels corresponding to those pblocks before requesting more pblocks from the label allocator.

dense

Allocates the smallest label even if it means waiting for pblocks to transition from the timing-out state to the free state.

fractional

Confines label allocation to the lower half of the configured label space until the smallest available free label is outside the lower half of the label space, at which time it allocates the smallest available free label.


Command Default

The default allocation method varies from one platform to another. See the "Usage Guidelines" for more information.

Command Modes

mpls-label-restart configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Use this command to configure an algorithm for MPLS label allocation. If you do not configure one, the platform uses its default algorithm. The default algorithm for your platform is displayed in the output of the show mpls label restart command. It is displayed in parentheses, as follows:

Pblock label alloc method (default is exhaust-available): <--- Platform default method
 Fractional (allocate from lower half of label space when possible) <--- Configured method

Select the exhaust-available keyword to makes more pblocks available following router restart than the other label allocations algorithms at the cost of a sparsely allocated label space. With the exhaust-available algorithm, the MPLS label allocator requests more blocks only after it has allocated all labels from those in the in-use state and uses no more pblocks than are needed to meet application label requirements.

Select the dense keyword to create a more densely allocated label space. However, the label allocator uses all pblocks. This increases the likelihood of label allocation delays until the safe-to-reuse timer expires following router restart.

Select the fractional keyword as a compromise between the Exhaust Available algorithm (selected with the exhaust-available keyword) and the Dense algorithm (selected with the dense keyword), it:

Provides a label space less densely populated than the Dense algorithm does, but more densely populated than the Exhaust Available algorithm does.

Tends to use fewer pblocks than the Dense algorithm does, but more pblocks than the Exhaust Available algorithm does.

Leaves more available pblocks for immediate use following restart than the Dense algorithm does and fewer pblocks available for immediate use following restart than the Exhaust Available algorithm does.

Examples

The following example shows how to configure the Fractional algorithm for label allocation by the MPLS label allocator:

configure terminal

mpls label restart
 allocation fractional

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.


debug mpls pdata restart

To enable debug output that traces actions related to the MPLS Safe Label Reuse After Router Restart feature, use the debug mpls pdata restart command in user EXEC or privileged EXEC mode. To disable debug output related to the MPLS Safe Label Reuse After Router Restart feature, use the no form of this command.

debug mpls pdata restart [detail]

no debug mpls pdata restart [detail]

Syntax Description

detail

(Optional) Enables additional debug output related to the MPLS Safe Label Reuse After Router Restart feature.


Command Default

Debugging is disabled.

Command Modes

User EXEC
Privileged EXEC

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Use this command to display information about the Multiprotocol Label Switching (MPLS) label reuse activities following a router restart.

Examples

The following is sample output from the debug mpls pdata restart command. This examples shows the following debug output:

What happens when the safe-to-reuse timer expires (time 16:55:14.699: the persistent data or pdata file is updated with the new state: FFFFFFUUU. . .FFF (F represents pblocks in the free state, U represents pblocks in the in-use state).

A periodic (1 minute) timer expires and notices that the process (mpdm process) used to write to the persistent data file is no longer needed (time 16:55:49.015)

The following two processes are repeated when the label allocator needs more new pblocks (times 16:56:29.623 and 16:56:29.631):

The label allocator needs new pblocks; the allocation of pblocks requires an update to the persistent data file; the update requires the mpdm process that is created (time 16:56:27.059)

The mpdm process updates the persistent data file; the label manager is notified that the new pblocks it requested are available (time 16:56:27.099)

Router# debug mpls pdata restart

16:55:14.699: mpdm: safe to reuse timer
16:55:14.699: mpdm: safe to reuse timeout transaction
16:55:14.699: mpdm: need to update pdata file
16:55:14.699: mpdm: encode in-mem pblock db
16:55:14.699: mpdm: aggr set 0: F F F F F F U U U U U U U U U U U U U U U U F F F F F F F 
F F F
16:55:14.699: mpdm: p-data updated
16:55:14.699: mpdm: pdata write completion transaction
16:55:49.015: mpdm: periodic timer
16:55:49.015: mpdm: kill mpdm process
16:55:49.015: mpdm: cleanup mpdm process
16:56:27.059: mpdm: pblock alloc transaction
16:56:27.059: mpdm: need to update pdata file
16:56:27.059: mpdm: encode in-mem pblock db
16:56:27.059: mpdm: aggr set 0: U U U U F F U U U U U U U U U U U U U U U U F F F F F F F 
F F F
16:56:27.059: mpdm: start mpls pdata process
16:56:27.099: mpdm: init mpls pdata process
16:56:27.099: mpdm: p-data updated
16:56:27.099: mpdm: pdata write completion transaction
16:56:27.099: mpdm: mpls_pblocks_avail(aggrset 0, modulo 32)
16:56:27.099: mpdm: region 0 new submaps/pblocks: [0] [1] [2] [3]
16:56:29.623: mpdm: pblock alloc transaction
16:56:29.623: mpdm: need to update pdata file
16:56:29.623: mpdm: encode in-mem pblock db
16:56:29.623: mpdm: aggr set 0: U U U U U U U U U U U U U U U U U U U U U U U U F F F F F 
F F F
16:56:29.631: mpdm: p-data updated
16:56:29.631: mpdm: pdata write completion transaction
16:56:29.631: mpdm: mpls_pblocks_avail(aggrset 0, modulo 32)
16:56:29.631: mpdm: region 0 new submaps/pblocks: [4] [5] [22] [23]

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label allocation following a router restart.

show mpls label restart

Displays information related to preventing unsafe MPLS label reuse following a router restart.


mpls label restart

To enter mpls-label-restart configuration mode to configure parameter settings that govern Multiprotocol Label Switching (MPLS) label usage following a router restart, use the mpls label restart command in global configuration mode. To return all configurable settings to their default settings, use the no form of this command.

mpls label restart

no mpls label restart

Syntax Description

This command has no arguments or keywords.

Command Default

mpls-label-reuse configuration mode is disabled.

Command Modes

Global configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Use this command to enter mpls-label-restart configuration mode. In this configuration mode, you can enter commands to change the parameters that govern label usage following a router restart, such as the safe-to-use timeout, router behavior when no previous record of label use exists, and the allocation algorithm used by the MPLS label allocator.

To exit mpls-label-restart configuration mode, use the exit or end command.

Examples

The following example shows how to enter mpls-label-restart configuration mode:

configure terminal 

mpls label restart

Related Commands

Command
Description

allocation

Configures the algorithm that the MPLS label allocator uses to allocate pblocks and labels.

pdata absent state free

Sets the state of all MPLS labels to the free state when no persistent data describing previous MPLS label usage is found during a router restart.

pdata absent timeout

Sets the timeout value for safe MPLS label reuse when a restarting router does not find persistent data that describes label usage before the restart.

pdate present timeout

Sets the timeout value for safe MPLS label reuse following a restart when the router finds persistent data that describes label usage before the restart.

show mpls label restart

Displays information related to preventing unsafe MPLS label reuse following a router restart.

unsafe

Disables the mechanism that prevents unsafe MPLS label reuse after a router restart.


pdata absent state free

To set the state of all Multiprotocol Label Switching (MPLS) labels to the free state when no persistent data describing previous MPLS label usage is found during a router restart, use the pdata absent state free command in mpls-label-restart configuration mode. To return to the default state, use the no form of this command.

pdata absent state free

no pdata absent state [free]

Syntax Description

This command has no arguments or keywords.

Command Default

The default state for all MPLS labels is in-use when persistent data describing previous MPLS label usage is not found during a router restart.

Command Modes

mpls-label-restart configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Use this command to instruct a restarting router to proceed as though no labels were in use or all labels were free before the router restart when it finds no MPLS label usage persistent data or pdata.

The default behavior when no label usage persistent data is found when the router restarts is to assume that all MPLS labels were in use before the restart. In this case, no labels are available for allocation until the safe-to-use timer expires.

You might want to change the router behavior to proceed as though no labels were in use before the reload because the problem of unsafe MPLS label reuse following a router restart is unlikely to occur, and if it does, you are willing to accept the possibility of temporarily unsafe label allocation.

Examples

The following example shows how to change the state for all MPLS labels to be free when persistent data describing label usage is not found during a router restart:

configure terminal

mpls label restart
 pdata absent state free

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

pdata absent timeout

Sets the timeout value for safe MPLS label reuse when a restarting router does not find persistent data that describes label usage before the restart.


pdata absent timeout

To set the timeout value for safe Multiprotocol Label Switching (MPLS) label reuse when a restarting router does not find persistent data that describes label usage before the restart, use the pdata absent timeout command in mpls-label-restart configuration mode. To restore the default timeout value, use the no form of this command.

pdata absent timeout seconds

no pdata absent timeout

Syntax Description

seconds

Timeout value. The default timeout value is 180 seconds (3 minutes).


Command Default

The default MPLS label reuse timeout value is 180 seconds.

Command Modes

mpls-label-restart configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Routers using Cisco IOS Release 12.0(32)SY and later releases that support the safe-to-reuse MPLS timers are capable of detecting when no MPLS persistent data or pdata is recorded in the persistent data file. Use this command to set a safe-to-reuse timeout for MPLS labels following a router restart when the router finds no MPLS persistent data.

The timeout configured with this command specifies the time to wait before allowing label allocation following a router restart when no label usage information is found in persistent data and the label usage state is configured to be in-use (the default). In this situation, the router will not allocate any labels until the safe-to-reuse timer expires.

You might want to change the default timeout value to account for the rate at which neighbor routers in your network update their forwarding tables to remove labels learned from the restarting router. For example:

If all the neighbor routers are known to be able to detect the restart and to clear stale forwarding information within 30 seconds, then you would want to reduce the timeout value accordingly.

If one of the neighbors is known to take 6 minutes to detect the restart and to clear stale forwarding information, you would want to increase the timeout value.

The timeout value set by this command can be different from the timeout value used when the router finds MPLS persistent data.

Examples

The following example shows how to set the timeout value for MPLS safe label reuse to 200 seconds when a restarting router does not find persistent data that describes label usage before the restart:

configure terminal

mpls label restart
 pdata absent timeout 200 

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

pdata present timeout

Sets the timeout value for safe MPLS label reuse following a restart when the router finds persistent data that describes label usage before the restart.


pdata present timeout

To set the timeout value for safe Multiprotocol Label Switching (MPLS) label reuse following a restart when the router finds persistent data that describes label usage before the restart, use the pdata present timeout command in mpls-label-restart configuration mode. To restore the default timeout value, use the no form of this command.

pdata present timeout seconds

no pdata present timeout

Syntax Description

seconds

Timeout value. The default timeout value is 180 seconds (3 minutes).


Command Default

The default MPLS label reuse timeout value is 180 seconds.

Command Modes

mpls-label-restart configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Devices using Cisco IOS Release 12.0(32)SY and later releases that support the safe-to-reuse MPLS timers are capable of detecting when MPLS persistent data or pdata is recorded in the persistent data file. Use this command to set the safe-to-reuse timeout for MPLS labels following a router restart when the router finds MPLS persistent data.

The restarting router inspects the state of the MPLS label blocks to determine which blocks, if any, are available for allocation. The router confines label allocation to label blocks that were not in use before the restart and avoids using blocks that were in use until a safe-to-reuse timer expires.

Use the pdata present timeout command to set the safe-to-reuse timeout for the label blocks that the router determined were in the in-use state before the restart. If all label blocks are in the in-use state, no labels are available for allocation until the safe-to-reuse timer expires.

You might want to change the default timeout value to account for the rate at which neighbor routers in your network update their forwarding tables to remove labels learned from the restarting router. For example:

If all the neighbor routers are known to be able to detect the restart and to clear stale forwarding information within 30 seconds, then you would want to reduce the timeout value accordingly.

If one of the neighbors is known to take 6 minutes to detect the restart and to clear stale forwarding information, you would want to increase the timeout value.

The timeout value set by this command can be different from the timeout value used when the router finds no MPLS persistent data.

Examples

The following example shows how to set the safe-to-reuse MPLS label timeout value to 240 seconds:

configure terminal

mpls label restart
 pdata present timeout 240

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.

pdata absent timeout

Sets the timeout value for safe MPLS label reuse when a restarting router does not find persistent data that describes label usage before the restart.


show mpls label restart

To display information related to preventing unsafe Multiprotocol Label Switching (MPLS) label reuse following a router restart, use the show mpls label restart command in user EXEC or privileged EXEC mode.

show mpls label restart [detail]

Syntax Description

detail

(Optional) Displays more detailed information related to safe label reuse following a router restart.


Command Modes

User EXEC
Privileged EXEC

Command History

Release
Modification

12.2(32)SY

This command was introduced.


Usage Guidelines

Use this command to display the settings configured to ensure safe MPLS label reuse after a router restart, whether the safe-to-use timer has elapsed and, if not, how much time is remaining until it elapses, label information recorded in the persistent data file, and information about label allocation, such as the the pblocks in use and the next labels to be allocated. (The pblock represents the usage state of the labels in the label block.)

Examples

The following is sample output from the show mpls label restart command:

Router# show mpls label restart

Configuration:
  Protection enabled
  Safe to reuse timeouts pdata present: 300 sec; absent: 300 sec
  State pdata absent: InUse;
  Pblock label alloc method (default is exhaust-available):
    Exhaust (allocate all labels from InUse pblocks first)
State:  unsafe to reuse; unsafe time remaining: 443 sec
  PBlocks:
    Number 32; Prior usage: 6; Inuse: 16; Free: 10; Timingout: 6
    PBlock allocs/failures before safe: 2/0
    States (U InUse; F Free; T TimingOut; P InUsePending):
       [0-31]  T T T T T T U U U U U U U U U U U U U U U U F F F F F F F F F F 
       Label space: [16,200]; Total labels: 185
  Available: 89; Allocated: 52; Free 37

Table 2 describes the significant fields shown in the display.

Table 2 show mpls label restart Field Descriptions 

Field
Description

Protection enabled

The protection provided by the MPLS Safe Label Reuse feature is enabled.

Safe to reuse timeouts pdata present

Indicates the numbers of seconds configured for the safe-to-reuse timeout when the router finds MPLS persistent data when it restarts. Labels in use before a router restart cannot be used until this timer expires.

absent

Indicates the numbers of seconds configured for the safe-to-reuse timeout when the router finds no MPLS persistent data or pdata when it restarts. If the pdata absent state is configured to be in use (the default), then all MPLS labels are placed in the in-use state and cannot be used until this timer expires.

State pdata absent

Indicates the state of all MPLS labels following a router restart when the router finds no MPLS persistent data:

InUse—All MPLS labels are considered as in use before a router restart and cannot be used until the safe-to-reuse timer expires.

Free—All MPLS labels are available for use immediately after a router restart.

PBlocks label alloc method (default is exhaust-available)

Indicates the allocation algorithm configured for MPLS label allocation of persistent blocks (pblocks) and labels:

Exhaust (allocate all labels from InUse pblocks first)

Dense (allocate the smallest label)

Fractional (allocate from lower half of label space when possible)

The platform default allocation algorithm is indicated in parentheses.

unsafe to reuse; unsafe time remaining

Indicates that the router has recently restarted and that pblocks in use prior to the restart are being timed out before they can be used for label allocation. Also indicates the time (in seconds) remaining before the safe-to-reuse timer expires.

Number: 32

Total number of pblocks.

Prior usage: 6

Number of pblocks in use prior to the current restart, as determined by the MPLS persistent data when the restart occurred.

Inuse: 16

Number of pblocks (16) in use by the MPLS label allocator.

Free:10

Number of pblocks (10) that are available when the MPLS label allocator requires more labels.

Timingout: 6

Number of pblocks (6) that are waiting for the safe-to-reuse timer to expire.

PBlock allocs/failures before safe: 2/0

The number of times since restart that the MPLS label allocator attempted/failed to allocate pblocks.

Label space: 16,200

Configured label range.

Total labels: 185

Number of labels in the configured label range.

Available: 89

Number of labels available for allocation by the MPLS label allocator.

Allocated: 52

Number of labels allocated by the MPLS label allocator.

Free: 37

Number of labels that are available for allocation by the MPLS label allocator.


The following is sample output from the show mpls label restart detail command:

Router# show mpls label restart detail

Configuration:
  Protection enabled
  Safe to reuse timeouts pdata present: 300 sec; absent: 300 sec
  State pdata absent: InUse;
  Pblock label alloc method (default is exhaust-available):
    Exhaust (allocate all labels from InUse pblocks first)
State:  unsafe to reuse; unsafe time remaining: 443 sec
  PBlocks:
    Number 32; Prior usage: 6; Inuse: 16; Free: 10; Timingout: 6
    PBlock allocs/failures before safe: 2/0
    States (U InUse; F Free; T TimingOut; P InUsePending):
       [0-31]  T T T T T T U U U U U U U U U U U U U U U U F F F F F F F F F F 
       Label space: [16,200]; Total labels: 185
  Available: 89; Allocated: 52; Free 37

Following is the additional information provided when you enter the command with the detail keyword:


  Label Allocation State
                   First   Last    Next        Labels
    PBlk   State   Label   Label   Label   Total    Free
       6   InUse      38     198       -       6       0
       7   InUse      39     199       -       6       0
       8   InUse      40     200       -       6       0
       9   InUse      41     169       -       5       0
      10   InUse      42     170       -       5       0
      11   InUse      43     171       -       5       0
      12   InUse      44     172     108       5       3
      13   InUse      45     173     109       5       3
      14   InUse      46     174     110       5       3
      15   InUse      47     175      79       5       4
      16   InUse      16     176      80       6       4
      17   InUse      17     177      81       6       4
      18   InUse      18     178      82       6       4
      19   InUse      19     179      83       6       4
      20   InUse      20     180      84       6       4
      21   InUse      21     181      85       6       4

Table 3 describes the significant fields shown in the display.

Table 3 show mpls label restart detail Field Descriptions 

Field
Description

PBlk

Identifies the MPLS pblock. The identifiers are from 0 to 31.

State

State of the pblock.

First Label

The smallest label represented by the pblock.

Last Label

The largest label represented by the pblock.

Next Label

The next label represented by the pblock to be allocated.

Labels Total

Total number of labels represented by the pblock.

Labels Free

Number of labels represented by the pblock that have not been allocated.


Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern label usage following a router restart.

unsafe

Disables the mechanism that prevents unsafe MPLS label reuse after a router restart.


unsafe

To disable the mechanism that prevents unsafe Multiprotocol Label Switching (MPLS) label reuse after a router restart, use the unsafe command in mpls-label-restart configuration mode. To reenable this mechanism, use the no form of this command.

unsafe

no unsafe

Syntax Description

This command has no arguments or keywords.

Command Default

MPLS safe label reuse is enabled.

Command Modes

mpls-label-restart configuration

Command History

Release
Modification

12.0(32)SY

This command was introduced.


Usage Guidelines

Use this command to disable the mechanism that ensures safe MPLS label reuse after a router restart. The router removes MPLS label use information from the persistent data file and no longer tracks it.

Use the no form of the command to reenable safe MPLS label reuse. Following the next restart, the router again tracks and records MPLS label use information in the persistent data file to ensure safe label reuse following a router restart.

Examples

The following example shows how to disable safe MPLS label reuse after a router restart:

configure terminal

mpls label restart
 unsafe

Related Commands

Command
Description

mpls label restart

Enters mpls-label-restart configuration mode to configure parameter settings that govern MPLS label usage following a router restart.


Glossary

FEC—Forwarding Equivalence Class. A term defined by the Internet Engineering Task force (IETF) for the set of packets forwarded in the same way by a router. An example of an FEC is the set of IP packets with destination addresses that match a prefix in a router routing table.

label block—A generic term for a set of Multiprotocol Label Switching (MPLS) labels. The precise meaning depends on the context.

pblock—A persistent data object that records the state of a label block.

pdata—persistent data. Data that survives a router restart. Data that is stored in a persistent data file in the Cisco IOS file system.

RP—Route Processor. A generic term for the centralized control unit in a chassis. Platforms usually use a platform-specific term, such as RSP on the Cisco 7500, the PRE on the Cisco 10000, or the SUP+MSFC on the Cisco 7600.

SSO—stateful switchover. SSO refers to the implementation of Cisco IOS software that allows applications and features to maintain a defined state between an active and standby RP. When a switchover occurs, forwarding and sessions are maintained. Along with NSF, SSO makes an RP failure undetectable to the network.


Note See Internetworking Terms and Acronyms for terms not included in this glossary.


Feature Information for MPLS Safe Label Reuse After Router Restart

Table 4 lists the release history for this feature.

Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.

Cisco IOS software images are specific to a Cisco IOS software release, a feature set, and a platform. Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.


Note Table 4 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.


Table 4 Feature Information for MPLS Safe Label Reuse After Router Restart 

Feature Name
Releases
Feature Information

MPLS Safe Label Reuse After Router Restart

12.0(32)SY

The MPLS Safe Label Reuse After Router Restart feature provides the means to preserve information about the state of Multiprotocol Label Switching (MPLS) label usage during normal router operation across a router restart. This ensures that the router avoids reusing labels that were in use before the restart until it is safe to do so. The MPLS Safe Label Reuse After Router Restart feature provides a more secure network by removing the possibility that network traffic is forwarded incorrectly during the short period following router restart.

The following sections provide information about this feature:

Safe Label Reuse After a Router Restart Feature Description

Persistent Data for MPLS Safe Label Reuse

Persistent Data for MPLS Safe Label Reuse Not Available at Router Restart

Configurable MPLS Safe Label Reuse Parameters

Features Supported for MPLS Safe Label Reuse After Router Restart

Disabling and Reenabling MPLS Safe Label Reuse

Setting the MPLS Safe Label Reuse Timeouts

Setting Router Behavior When No Record of MPLS Label Usage Exists

Setting the Allocation Algorithm for MPLS Safe Label Reuse

Displaying Information About MPLS Label Usage

The following commands were introduced by this feature: allocation, debug mpls pdata restart, mpls label restart, pdata absent state free, pdata absent timeout, pdata present timeout, show mpls label restart, unsafe.