Guest

Cisco IOS Software Releases 12.2 T

Nonstop Forwarding Enhanced FIB Refresh

Table Of Contents

Nonstop Forwarding Enhanced FIB Refresh

Feature Overview

Epochs

Benefits

Related Features and Technologies

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables

Verifying Epoch Information

Configuration Examples

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table Example

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables Examples

Command Reference

clear adjacency epoch

clear ip cef epoch

show adjacency

show ip cef


Nonstop Forwarding Enhanced FIB Refresh


Feature History

Release
Modification

12.2(8)T

This feature was introduced.


This document describes the Nonstop Forwarding Enhanced FIB Refresh feature in Cisco IOS Release 12.2(8)T. It includes the following sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Configuration Examples

Command Reference

Feature Overview

Operational networks must minimize traffic disruption and offer the most uptime possible. The Nonstop Forwarding Enhanced FIB Refresh feature provides users the capability to continue forwarding IP traffic while Cisco Express Forwarding (CEF) database tables are being rebuilt. IP forwarding on the router is therefore uninterrupted.

CEF maintains a best-route-only IP forwarding information base (FIB), which is populated and maintained by the routing protocols and the Routing Information Base (RIB). On a distributed hardware platform, distributed CEF (dCEF) has the ability to repopulate one or all line cards from scratch. The central FIB table can be re-created by clearing the IP routing table and allowing the routing table to be rebuilt, which in turn causes the central FIB table to be repopulated.

In addition to maintaining the FIB database, CEF also maintains an adjacency table. This table can be cleared on command and then rebuilt using information from the Address Resolution Protocol (ARP) table.

The nonstop forwarding (NSF) Enhanced FIB Refresh feature allows users to clear the forwarding table on demand and to continue forwarding using the old entries in the table. Once the forwarding table has been repopulated, packets are forwarded using the new entries, and the old entries are deleted. This feature allows CEF forwarding to continue while the new table is being built, and it allows a seamless switchover when the new table becomes active.

Epochs

The term epoch refers to a period of time. A new epoch for a CEF table begins when a table rebuild is initiated. The time after this instant is in a different epoch than the time before, and the different epochs are numbered between 0 and 255. The first epoch is numbered 0, and it begins when the CEF table is created.

The epoch number increases by one for each new epoch until it reaches 255. The current epoch for each table is recorded independently so that new epoch periods for different tables may begin at different times. The next epoch after 255 is 0. A new epoch cannot begin if there are any table entries still existing from the last time the next epoch number was used. The current epoch for each table is recorded independently so that new epoch periods for different tables may begin at different times. The epoch number for a given table is the same for each instance of the table (for example, on each Route Processor and line card where dCEF is active).

When a new epoch begins, existing table entries all have an epoch number that is older than that of the current table epoch. New or modified table entries subsequently have the current epoch. Thus, entries created before or after the new epoch period began can be distinguished from each other.

All entries added to a FIB table or the adjacency table have a new field that records the current epoch for that table at the time the entry was added. When an entry is modified, the epoch of the entry is updated to record the table's current epoch. A record is kept of how many entries exist from each epoch. The epoch number cannot be incremented if any existing entries have the same epoch number as the next epoch value.

When the user wants a table to be rebuilt, the epoch number for that table is incremented, and the table is rebuilt in place. When rebuilding is complete, "stale" entries are removed from the table. The user may choose to increment the epoch of a single table or multiple tables at the same time.

In a router that supports high availability (HA), the epoch numbers for all CEF tables are incremented when an RP transitions from standby mode to active. After switchover, the active secondary RP initially has FIB and adjacency databases that are the mirror image of the primary RP. When the epoch number for each table is incremented, all existing entries are considered stale as far as their epoch number is concerned. However, forwarding continues as normal. As the routing protocols start to repopulate the FIB and adjacency databases, existing and new entries will receive the new epoch number, indicating that they have been refreshed.

When the routing protocols signal that they are converged, all FIB and adjacency entries that have epoch numbers older than the current epoch number are removed.

When FIB or adjacency entries are distributed from the central tables on the RP, the updates contain the epoch of the entry, ensuring that the distinction between old and new entries is maintained in distributed systems.

When a table is initialized on a line card, the current epoch of the table on the RP is sent to the line card. When the epoch is incremented on the RP, an event indicating that a new epoch has begun is sent to each line card.

When information from a CEF table is displayed to the user, the table epoch is shown in the summary table information. When detailed information is displayed for each table entry, the epoch number of each entry is shown.

Benefits

This feature allows CEF forwarding to continue uninterrupted while new CEF tables are being constructed.

This feature allows a seamless switchover when the new table becomes active.

Related Features and Technologies

CEF

dCEF

NSF

Related Documents

For further CEF information, see Cisco IOS Switching Services Configuration Guide, Release 12.2

For further CEF information, see Cisco IOS Switching Service Command Reference, Release 12.2

Non-Stop Forwarding, Cisco IOS Release 12.0(22)S feature module

Supported Platforms

Cisco 806 series

Cisco 820 series

Cisco 828 series

Cisco 1400 series

Cisco 1600 series

Cisco 1600-R series

Cisco 1710 series

Cisco 1720 series

Cisco 1721 series

Cisco 1750 series

Cisco 1751 series

Cisco 2420 series

Cisco 2500 series

Cisco 2600 series

Cisco 3620 series

Cisco 3631 series

Cisco 3640 series

Cisco 3660 series

Cisco mc3810 series

Cisco 3725 series

Cisco 3745 series

Cisco 7100 series

Cisco 7200 series

Cisco 7500 series

Cisco ubr7200 series cable routers

Cisco 7700 series

Cisco SOHO 70 series

Cisco SOHO 78 series

Cisco Universal Route Module

Determining Platform Support Through Cisco Feature Navigator

Cisco IOS software is packaged in feature sets that support specific platforms. To get updated information regarding platform support for this feature, access Cisco Feature Navigator. Cisco Feature Navigator dynamically updates the list of supported platforms as new platform support is added for the feature.

Cisco Feature Navigator is a web-based tool that enables you to quickly determine which Cisco IOS software images support a specific set of features and which features are supported in a specific Cisco IOS image. You can search by feature or release. Under the release section, you can compare releases side by side to display both the features unique to each software release and the features in common.

To access Cisco Feature Navigator, you must have an account on Cisco.com. If you have forgotten or lost your account information, send a blank e-mail to cco-locksmith@cisco.com. An automatic check will verify that your e-mail address is registered with Cisco.com. If the check is successful, account details with a new random password will be e-mailed to you. Qualified users can establish an account on Cisco.com by following the directions at http://www.cisco.com/register.

Cisco Feature Navigator is updated regularly when major Cisco IOS software releases and technology releases occur. For the most current information, go to the Cisco Feature Navigator home page at the following URL:

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

Supported Standards, MIBs, and RFCs

Standards

No new standards are supported by these commands.

MIBs

No new or modified MIBs are supported by this feature.

To obtain lists of supported MIBs by platform and Cisco IOS release, and to download MIB modules, go to the Cisco MIB website on Cisco.com at the following URL:

http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml

RFCs

No new or modified RFCs are supported by this feature.

Prerequisites

CEF must be configured and running on the networking device.

Configuration Tasks

The following sections describe the tasks that begin new epochs and increment the epoch number of the adjacency and CEF tables. Each task in the list is identified as either required or optional.

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table (optional)

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables (optional)

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table

To begin a new epoch and increment the epoch number of the adjacency table, use the following command in privileged EXEC mode:

Command
Purpose

Router# clear adjacency epoch

Begins a new epoch and increments the epoch number of the adjacency table.

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables

To begin a new epoch and increment the epoch number of one or all CEF tables, use the following command in privileged EXEC mode:

Command
Purpose

Router# clear ip cef epoch

Begins a new epoch and increments the epoch number of one or all CEF tables.

Verifying Epoch Information

Step 1 Enter the show ip cef epoch command to display the table epochs of the adjacency table and all FIB tables:

Router# show ip cef epoch

CEF epoch information:
Table: Default-table
  Table epoch: 77 (19 entries at this epoch)
Adjacency table
  Table epoch: 16 (2 entries at this epoch)

Step 2 Enter the show ip cef summary command to display the table epoch for a specified FIB table:

Router# show ip cef summary

IP Distributed CEF with switching (Table Version 1520), flags=0x0, bits=8
  19 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 690
  19 leaves, 23 nodes, 27036 bytes, 1534 inserts, 1515 invalidations
  0 load sharing elements, 0 bytes, 0 references
  universal per-destination load sharing algorithm, id 8526B654
  2(0) CEF resets, 0 revisions of existing leaves
  0 in-place/0 aborted modifications
  Resolution Timer: Exponential (currently 1s, peak 2s)
  refcounts:  6189 leaf, 6144 node
  Table epoch: 76 (19 entries at this epoch)
  Non-stop forwarding:
   19 routes at switchover
   19 routes available after convergence (0 purged)

Step 3 Enter the show ip cef detail command to display the epoch value for each entry of a specified FIB table:

Router# show ip cef detail

IP Distributed CEF with switching (Table Version 1520), flags=0x0, bits=8
19 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 690
19 leaves, 23 nodes, 27036 bytes, 1534 inserts, 1515 invalidations
0 load sharing elements, 0 bytes, 0 references
universal per-destination load sharing algorithm, id 8526B654
2(0) CEF resets, 0 revisions of existing leaves
0 in-place/0 aborted modifications
Resolution Timer: Exponential (currently 1s, peak 2s)
refcounts:  6189 leaf, 6144 node

Table epoch: 76 (19 entries at this epoch)
  Non-stop forwarding:
   1019 routes at switchover
   1019 routes available after convergence (0 purged)
.
.
.

Step 4 Enter the show adjacency summary command to display the adjacency table epoch:

Router# show adjacency summary

Adjacency Table has 2 adjacencies
  Table epoch: 14 (2 entries at this epoch)
  Interface                 Adjacency Count
Serial5/0/0/1:1           1
Serial5/0/1/1:1           1

Step 5 Enter the show adjacency detail command to display the epoch value for each entry of the adjacency table:

Router# show adjacency detail

Protocol Interface                 Address
IP       Serial5/0/0/1:1           point2point(7)
                                   0 packets, 0 bytes
                                   0F000800
                                   CEF   expires: 00:02:09
                                         refresh: 00:00:09
                                   Epoch: 14
IP       Serial5/0/1/1:1           point2point(7)
                                   0 packets, 0 bytes
                                   0F000800
                                   CEF   expires: 00:02:09
                                         refresh: 00:00:09
                                   Epoch: 14


Configuration Examples

This section provides the examples of the following commands:

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table Example

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables Examples

Beginning a New Epoch and Incrementing the Epoch Number of the Adjacency Table Example

The following example begins a new epoch and increments the epoch number of the adjacency table:

Router# clear adjacency epoch

Beginning a New Epoch and Incrementing the Epoch Number of CEF Tables Examples

In the following example, the epoch table will be cleared and the epoch number will be incremented for all tables, including the adjacency table:

Router# clear ip cef epoch full

router# show ip cef epoch

CEF epoch information:
Table: Default-table
	 Table epoch: 3 (43 entries at this epoch)

Adjacency table
	 Table epoch: 3 (5 entries at this epoch)

Command Reference

This section documents new and modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.2 command reference publications.

New Commands

clear adjacency epoch

clear ip cef epoch

Modified Commands

show adjacency

show ip cef

clear adjacency epoch

To begin a new epoch and increment the epoch number of the adjacency table, use the clear adjacency epoch command in privileged EXEC mode.

clear adjacency epoch

Syntax Description

This command has no arguments or keywords.

Command Modes

Privileged EXEC

Command History

Release
Modification

12.2(8)T

This command was introduced.


Usage Guidelines

The clear adjacency epoch command increments the epoch and flushes entries with the old epoch. This command clears inconsistencies.

Use the clear adjacency epoch command when you want to rebuild the adjacency table. A new adjacency table may be required because the user wants to remove inconsistencies from the table.

Examples

The following example begins a new epoch and increments the epoch number of the adjacency table:

Router# clear adjacency epoch

Related Commands

Command
Description

clear ip cef epoch

Begins a new epoch and increments the epoch number for a CEF table.


clear ip cef epoch

To begin a new epoch and increment the epoch number for one or all Cisco Express Forwarding (CEF) tables, use the clear ip cef epoch command in privileged EXEC mode.

clear ip cef epoch [all-vrfs | full | vrf [table]]

Syntax Description

all-vrfs

(Optional) Begin a new epoch for all forwarding information base (FIB) tables.

full

(Optional) Begin a new epoch for all tables, including adjacency tables.

vrf

(Optional) Begin a new epoch for the specified FIB table

table

(Optional) Virtual Private Networks (VPN) routing and forwarding (VRF) instance name.


Command Modes

Privileged EXEC

Command History

Release
Modification

12.2(8)T

This command was introduced.


Usage Guidelines

Use the clear ip cef epoch command when you want to rebuild a table. This command increments the epoch and flushes entries with the old epoch. This command clears any inconsistencies that may exist, so if everything in the system is working correctly, this command will have no effect on the CEF forwarding tables other than changing the current epoch values.

Examples

The following example shows the output before and after you clear the epoch table and increment the epoch number:

router# show ip cef epoch

CEF epoch information:

Table: Default-table
	 Table epoch: 2 (43 entries at this epoch)

Adjacency table
	 Table epoch: 2 (5 entries at this epoch)

router# clear ip cef epoch full

router# show ip cef epoch

CEF epoch information:
Table: Default-table
	 Table epoch: 3 (43 entries at this epoch)

Adjacency table
	 Table epoch: 3 (5 entries at this epoch)

Related Commands

Command
Description

show cef state

Displays the state of CEF.


show adjacency

To display Cisco Express Forwarding (CEF) adjacency table information, use the show adjacency command in EXEC mode.

show adjacency [interface-type] [detail] [summary]

Syntax Description

interface-type

(Optional) Displays CEF adjacency information for the specified interface type and number.

detail

(Optional) Displays detailed adjacency information, including Layer 2 information.

summary

(Optional) Displays CEF adjacency table summary information.


Command Modes

EXEC

Command History

Release
Modification

11.2 GS

This command was introduced.

11.1 CC

Multiple platform support was added.

12.2(8)T

The detail keyword output was modified to show the epoch value for each entry of the adjacency table.

The summary keyword output was modified to show the table epoch for the adjacency table.


Usage Guidelines

This command is used to verify that an adjacency exits for a connected device, that the adjacency is valid, and that the MAC header rewrite string is correct.

Examples

The following is sample output from the show adjacency detail command:

Router# show adjacency detail

Protocol Interface                 Address
IP       Serial5/0/0/1:1           point2point(7)
                                   0 packets, 0 bytes
                                   0F000800
                                   CEF   expires: 00:02:09
                                         refresh: 00:00:09
                                   Epoch: 14
IP       Serial5/0/1/1:1           point2point(7)
                                   0 packets, 0 bytes
                                   0F000800
                                   CEF   expires: 00:02:09
                                         refresh: 00:00:09
                                   Epoch: 14

The following is sample output from the show adjacency summary command:

Router# show adjacency summary

Adjacency Table has 2 adjacencies
  Table epoch: 14 (2 entries at this epoch)
  Interface                 Adjacency Count
Serial5/0/0/1:1           1
Serial5/0/1/1:1           1

Table 1 describes the significant fields shown in the displays.

Table 1 show adjacency Field Descriptions 

Field
Description

Protocol

The routed protocol to which the adjacency is related.

Interface

The outgoing interface associated with the adjacency.

Address

The address can represent one of these addresses:

Next-hop address

Point-to-point address

The number (in parenthesis) that follows this field indicates the number of internal references to the adjacency.

Epoch

The table epoch value at the time when the adjacency was last modified.


Related Commands

Command
Description

clear adjacency

Clears the CEF adjacency table.


show ip cef

To display entries in the Forwarding Information Base (FIB) or to display a summary of the FIB, use the show ip cef command in EXEC mode:

show ip cef [vrf vrf-name][unresolved [detail] | detail | summary | epoch]

Syntax Description

vrf

(Optional) A Virtual Private Network (VPN) routing and forwarding (VRF) instance.

vrf-name

(Optional) Name assigned to the VRF.

unresolved

(Optional) Displays unresolved FIB entries.

detail

(Optional) Displays detailed FIB entry information.

summary

(Optional) Displays a summary of the FIB.

epoch

(Optional) Displays the table epochs of the adjacency table and all FIB tables.


Command Modes

EXEC

Command History

Release
Modification

11.2 GS

This command was introduced to support the Cisco 12012 Internet router.

11.1 CC

Multiple platform support was added.

12.0(5)T

The vrf keyword was added.

12.2(8)T

The epoch keyword was added.

The detail keyword output was modified to show the epoch value for each entry of a particular FIB table.

The summary keyword output was modified to show the table epoch for a particular FIB table.


Usage Guidelines

The show ip cef command without any keywords or arguments shows a brief display of all FIB entries.

The show ip cef epoch command shows the table epochs of the adjacency table and of all FIB tables.

The show ip cef detail command shows detailed FIB entry information for all FIB entries.

Examples

The following is sample output from the show ip cef detail command:

Router# show ip cef detail

IP Distributed CEF with switching (Table Version 1520), flags=0x0, bits=8
19 routes, 0 reresolve, 0 unresolved (0 old, 0 new), peak 690
19 leaves, 23 nodes, 27036 bytes, 1534 inserts, 1515 invalidations
0 load sharing elements, 0 bytes, 0 references
universal per-destination load sharing algorithm, id 8526B654
2(0) CEF resets, 0 revisions of existing leaves
0 in-place/0 aborted modifications
Resolution Timer: Exponential (currently 1s, peak 2s)
refcounts:  6189 leaf, 6144 node

Table epoch: 76 (19 entries at this epoch)
  Non-stop forwarding:
   1019 routes at switchover
   1019 routes available after convergence (0 purged)

Adjacency Table has 2 adjacencies
172.0.0.0/0, version 0, epoch 76, attached, default route handler
0 packets, 0 bytes
  via 172.0.0.0, 0 dependencies
    valid null adjacency
172.0.0.0/32, version 1, epoch 76, receive
172.1.1.0/24, version 13, epoch 76, cached adjacency to Serial5/0/1/1:1
0 packets, 0 bytes
  tag information set
    local tag: 4
  via 2.2.2.1, 0 dependencies, recursive
    next hop 2.2.2.1, Serial5/0/1/1:1 via 172.2.2.0/24
    valid cached adjacency
172.2.2.0/24, version 14, epoch 76, attached, connected, cached adjacency to 
Serial5/0/1/1:1
0 packets, 0 bytes
  via Serial5/0/1/1:1, 1 dependency
    valid cached adjacency
172.2.2.0/32, version 11, epoch 76, receive
172.2.2.2/32, version 10, epoch 76, receive
172.2.2.255/32, version 12, epoch 76, receive
172.3.3.0/24, version 15, epoch 76, attached, connected, cached adjacency to 
Serial5/0/0/1:1
0 packets, 0 bytes
  via Serial5/0/0/1:1, 1 dependency
    valid cached adjacency
172.3.3.0/32, version 5, epoch 76, receive
172.3.3.1/32, version 4, epoch 76, receive
172.3.3.255/32, version 6, epoch 76, receive
172.4.4.0/24, version 16, epoch 76, cached adjacency to Serial5/0/0/1:1
0 packets, 0 bytes
  tag information set
    local tag: 4
  via 172.3.3.2, 0 dependencies, recursive
    next hop 172.3.3.2, Serial5/0/0/1:1 via 172.3.3.0/24
    valid cached adjacency
172.0.0.0/8, version 517, epoch 76, attached, connected
0 packets, 0 bytes
  via Ethernet0/0/0, 0 dependencies
    valid glean adjacency
172.0.0.0/32, version 8, epoch 76, receive
172.0.0.254/32, version 7, epoch 76, receive
172.255.255.255/32, version 9, epoch 76, receive
172.0.0.0/4, version 1519, epoch 76
0 packets, 0 bytes, Precedence routine (0)
  via 172.0.0.0, 0 dependencies
    next hop 172.0.0.0
    valid drop adjacency
172.0.0.0/24, version 3, epoch 76, receive
172.255.255.255/32, version 2, epoch 76, receive

The following example shows table epochs of the adjacency table and all FIB tables:

Router# show ip cef epoch

CEF epoch information:
Table: Default-table
  Table epoch: 77 (19 entries at this epoch)
Adjacency table
  Table epoch: 16 (2 entries at this epoch)

The following example shows the forwarding table associated with the VRF named vrf1:

Router# show ip cef vrf vrf1

Prefix              Next Hop            Interface
0.0.0.0/32          receive
11.0.0.0/8          50.0.0.1            Ethernet1/3
12.0.0.0/8          52.0.0.2            POS6/0
50.0.0.0/8          attached            Ethernet1/3
50.0.0.0/32         receive
50.0.0.1/32         50.0.0.1            Ethernet1/3
50.0.0.2/32         receive
50.255.255.255/32   receive
51.0.0.0/8          52.0.0.2            POS6/0
224.0.0.0/24        receive
255.255.255.255/32  receive

Table 2 describes the significant fields shown in the displays.

Table 2 show ip cef vrf Field Descriptions 

Field
Description

Prefix

Specifies the network prefix.

Next Hop

Specifies the Border Gateway Protocol (BGP) next hop address.

Interface

Specifies the VRF interface.


Related Commands

Command
Description

clear ip cef epoch

Begins a new epoch and increments the epoch number for one or all CEF tables.

show cef

Displays which packets the line cards dropped or displays which packets were not express forwarded.

show cef interface

Displays CEF-related interface information.

show cef nsf

Displays the current NSF state of CEF on both the active and standby RPs.