This document contains information about and instructions for configuring epochs for Cisco Express Forwarding tables. You can use this functionality to clear and rebuild Cisco Express Forwarding tables for consistency purposes without the loss of table information.
Cisco Express Forwarding is an advanced Layer 3 IP switching technology. It optimizes network performance and scalability for all kinds of networks: those that carry small amounts of traffic and those that carry large amounts of traffic in complex patterns, such as the Internet and networks characterized by intensive web-based applications or interactive sessions.
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see
Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Epochs for CEF Tables
Cisco Express Forwarding must be up and running on the router or switch for you to configure epochs for Cisco Express Forwarding Forwarding Information Base (FIB) and adjacency tables.
Information About Epochs for CEF Tables
Tasks for configuring epochs for Cisco Express Forwarding FIB tables were introduced with the Nonstop Forwarding Enhanced FIB Refresh feature.
Before you configure epochs for Cisco Express Forwarding tables, you should understand the following:
For links to information about other Cisco Express Forwarding and distributed Cisco Express Forwarding features you can configure, refer to the Additional References.
Cisco Express Forwarding is enable by default on the Cisco ASR 1000 Series Aggregation Services Routers.
To find out if Cisco Express Forwarding is enabled on your platform, enter theshowipcefcommand. If Cisco Express Forwarding is enabled, you receive output that looks like this:
Router# show ip cef
Prefix Next Hop Interface
[...]
10.2.61.8/24 192.168.100.1 FastEthernet1/0/0
192.168.101.1 FastEthernet2/1/0
[...]
If Cisco Express Forwarding is not enabled on your platform, the output for the showipcefcommand looks like this:
Router# show ip cef
%CEF not running
If Cisco Express Forwarding is not enabled on your platform, use the ipcefcommand to enable (central) Cisco Express Forwarding or the ipcefdistributed command to enable Distributed Cisco Express Forwarding.
Nonstop Forwarding Enhanced FIB Refresh
Networks must be configured to minimize traffic disruption and offer the most uptime possible. The Nonstop Forwarding (NSF) Enhanced FIB Refresh feature enables users to continue forwarding IP traffic while Cisco Express Forwarding database tables are being rebuilt. IP forwarding on the router is therefore uninterrupted.
NSF Enhanced FIB Refresh provides for the continuation of Cisco Express Forwarding forwarding by tracking epochs. The term "epoch" refers to a period of time. A new epoch for a Cisco Express Forwarding table begins when a table rebuild is initiated. The time after this instant is in an epoch different from the time before, and the different epochs are numbered between 0 and 255. Through the use of epochs, the software can distinguish between old and new forwarding information in the same database structure and can retain the old Cisco Express Forwarding database table while the software builds a new table. This is called epoch tracking and it allows Cisco Express Forwarding forwarding to continue uninterrupted while new Cisco Express Forwarding tables are being constructed, and it makes possible a seamless switchover when the new table becomes active.
Epoch Numbering for CEF FIB and Adjacency Tables
A new epoch for a Cisco Express Forwarding table begins when a table rebuild is initiated. The time after this instant is in an epoch different from the time before. The first epoch is numbered 0, and it begins when the Cisco Express Forwarding table is created. The epoch number increases by 1 for each new revision of the Cisco Express Forwarding table until the epoch number reaches 255. The next epoch after 255 is 0. A new epoch cannot begin if any table entries remain from the last time the epoch number was used. The epoch number for a given table is the same for each instance of the table (for example, on each RP and on each line card where distributed Cisco Express Forwarding is active).
Each entry added to a FIB table or the adjacency table has 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 routing protocols signal that they have converged, all FIB and adjacency entries that have epoch numbers older than the current epoch number are removed from the FIB and adjacency tables.
When you need a Cisco Express Forwarding 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. You can increment the epoch of a single table or multiple tables at the same time when you enter the
clearipcefepoch [all-vrfs |
full |
vrf[table]] command. See the When to Refresh the CEF or Adjacency Tables section for information on when you might need to rebuild a Cisco Express Forwarding table.
When you display information from a Cisco Express Forwarding table (for example, with the
showipcefepochcommand), the table epoch is shown in the summary table. When detailed information is displayed for each table entry, the epoch number of each entry is shown.
Epoch Synchronization Between the RP and Line Cards
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.
Epoch Numbering for Routers That Support HA
In a router that supports high availability (HA), the epoch numbers for all Cisco Express Forwarding 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 same as those of the primary RP. When the epoch number for each table is incremented, all existing entries are considered stale. However, forwarding continues as normal. As the routing protocols start to repopulate the FIB and adjacency databases, existing and new entries receive the new epoch number, indicating that the entries have been refreshed.
When to Refresh the CEF or Adjacency Tables
You refresh or rebuild the Cisco Express Forwarding or adjacency tables when the tables contain inconsistencies.
Cisco ASR 1000 Series Routers support distributed Cisco Express Forwarding, in which line cards make forwarding decisions based on stored copies of the same FIB and adjacency tables that are found on the RP. The tables on the line cards and the RP must remain synchronized.
Inconsistencies occur when forwarding information (a prefix) is missing on a line card, or the next-hop IP address on the line card is not the same as the next-hop IP address on the RP. Because updates to the RP and line card databases are not synchronous, fleeting inconsistencies can result.
Cisco Express Forwarding consistency checkers detect when forwarding information on the line cards and the RP lose synchronization. For more information on consistency checkers, see the "Configuring Cisco Express Forwarding Consistency Checkers for Route Processors and Line Cards" module.
How to Configure Epochs
This section contains instructions on how to configure epochs for Cisco Express Forwarding tables. Perform the following tasks to begin new epochs and increment the epoch number of the adjacency and Cisco Express Forwarding tables:
Incrementing the Epoch Number of the Adjacency Table
Perform the following task to begin a new epoch and increment the epoch number of the adjacency table.
Use this task when you need to rebuild the adjacency table. A new adjacency table might be required because you need to remove inconsistencies from the table.
SUMMARY STEPS
1.enable
2.showadjacencysummary
3.clearadjacencytable
4.showadjacencysummary
5.disable
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
showadjacencysummary
Example:
Router# show adjacency summary
Displays a summary of the information about the Cisco Express Forwarding adjacency table or the hardware Layer 3-switching adjacency table.
Step 3
clearadjacencytable
Example:
Router# clear adjacency table
Begins a new epoch and increments the epoch number of the adjacency table.
Step 4
showadjacencysummary
Example:
Router# show adjacency summary
Displays a summary of the information about the Cisco Express Forwarding adjacency table or the hardware Layer 3-switching adjacency table.
Step 5
disable
Example:
Router# disable
Exits to user EXEC mode.
Incrementing the Epoch Number of One or All CEF Tables
Perform the following task to begin a new epoch and increment the epoch number of one or all of the Cisco Express Forwarding tables.
Use the clearceftable command when you want to rebuild a Cisco Express Forwarding table. This command clear the selected table or address family of tables (for IPv4 or IPv6) and updates (refreshes) them throughout the router (including the Route Processor and line cards). The command increments the table epoch, updates the tables, distributes the updated information to the line cards, and performs a distributed purge of any stale entries in the tables based on the noncurrent epoch number. This ensures that any inconsistencies that occurred over time are removed.
SUMMARY STEPS
1.enable
2.showipcefepoch
3.clearceftable{ipv4 | ipv6} [vrf {vrf-name| *}]
4.showipcefepoch
5.disable
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
showipcefepoch
Example:
Router# show ip cef epoch
Displays entries in the FIB or displays a summary of the FIB.
The epoch keyword displays the table epochs of the FIB tables.
Step 3
clearceftable{ipv4 | ipv6} [vrf {vrf-name| *}]
Example:
Router# clear cef table ipv4
Clears the Cisco Express Forwarding tables.
The ipv4 keyword specifies the Cisco Express Forwarding tables for IPv4 addresses.
The ipv6 keyword specifies the Cisco Express Forwarding tables for IPv6 addresses.
The vrf keyword specifies all VPN routing and forwarding (VRF) instance tables or a specific VRF table for an IPv4 or IPv6 address.
The vrf-name argument specifies the specific VRF table for IPv4 or IPv6 addresses.
The * (asterisk) keyword specifies all the VRF tables for IPv4 or IPv6 addresses.
Note
This command also increments the table epoch, updates the tables, and distributes the updated information to the line cards.
Step 4
showipcefepoch
Example:
Router# show ip cef epoch
Displays entries in the FIB or displays a summary of the FIB.
The epoch keyword displays the epochs of the FIB tables.
Step 5
disable
Example:
Router# disable
Exits to user EXEC mode.
Verifying Epoch Information
Perform the following task to verify epoch information for Cisco Express Forwarding and adjacency tables.
SUMMARY STEPS
1.enable
2.showadjacencysummarydetail
3.showadjacencysummary
4.showipcefepoch
5.disable
DETAILED STEPS
Step 1
enable
Use this command to enable privileged EXEC mode. For example:
Example:
Router> enable
Enter your password if prompted.
Step 2
showadjacencysummarydetail
Use this command to verify that the epoch number is displayed for each entry in the adjacency table as you expect. For example:
Example:
Router# show adjacency detail
Protocol Interface Address
IP Serial2/0/1:1 point2point(7)
0 packets, 0 bytes
0F000800
CEF expires: 00:02:09
refresh: 00:00:09
Epoch: 14 ! ====> Epoch number
IP Serial2/1/1:1 point2point(7)
0 packets, 0 bytes
0F000800
CEF expires: 00:02:09
refresh: 00:00:09
Epoch: 14 ! ====> Epoch number
The epoch number is displayed for each entry in the adjacency table. In this example, the epoch number of each entry is 14.
Step 3
showadjacencysummary
Use this command to verify that the epoch number for each adjacency in the adjacency table is as you expect. For example:
Example:
Router# show adjacency summary
Adjacency Table has 2 adjacencies
Table epoch: 14 (2 entries at this epoch)
Interface Adjacency Count
Serial2/0/1:1 1
Serial2/1/1:1 1
Use the epoch information in the summary section to verify that the epoch number for each adjacency in the adjacency table is as expected. The epoch number is 14 in this example, the same as the epoch number displayed in theshowadjacencydetail command in the previous step.
Step 4
showipcefepoch
Use this command to verify that Cisco Express Forwarding information in all FIB tables is as you expect. In the following example, Cisco Express Forwarding epoch information is verified for all FIB tables:
Example:
Router# show ip cef epoch
CEF epoch information:
Table: Default-table
Table epoch: 77 (19 entries at this epoch)
Step 5
disable
Use this command to exit to user EXEC mode. For example:
Example Incrementing the Epoch Number of the Adjacency Table
The following example shows how to begin a new epoch and increment the epoch number of the adjacency table:
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 adjacency table
After clearing:
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)
Example Incrementing the Epoch Number of One or All CEF Tables
The following example shows how to begin a new epoch and increment the epoch number of all Cisco Express Forwarding tables for the IPv6 address family:
Router# clear cef table ipv6 vrf *
The following example shows the output before and after you clear the epoch table and increment the epoch number. Before clearing:
Router# show ip cef epoch
Table: Default-table
Database epoch: 3 (43 entries at this epoch)
After clearing:
Router# clear cef table ipv4
Router# show ip cef epoch
Table: Default-table
Database epoch: 4 (43 entries at this epoch)
The following examples shows how to clear Cisco Express Forwarding tables for all VRF tables in the IPv4 address family. This examples shows sample output with Cisco Express Forwarding debugging (debugcefcommand) enabled:
Description of Cisco Express Forwarding IPv6 commands
Cisco IOS IPv6 Command Reference
Information on MFI enhancements
MPLS Infrastructure Changes: Introduction of MFI and Removal of MPLS LSC and LC-ATM Features
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1 Feature Information for Configuring Epochs to Clear and Rebuild Cisco Express Forwarding and Adjacency Tables
Feature Name
Releases
Feature Configuration Information
Nonstop Forwarding Enhanced FIB Refresh
Cisco IOS XE Release 2.1
This feature allows you to clear the forwarding table on demand and to continue forwarding through the use of the old entries in the table while the new forwarding table is being built.
In Cisco IOS XE, Release 2, this feature was introduced on the Cisco ASR 1000 Series Aggregation Services Router.
No commands were introduced or modified for this feature.
Glossary
adjacency--A relationship formed between selected neighboring routers and end nodes for the purpose of exchanging routing information. Adjacency is based upon the use of a common media segment by the routers and nodes involved.
CiscoExpressForwarding--A Layer 3 switching technology. Cisco Express Forwarding can also refer to central Cisco Express Forwarding mode, one of two modes of Cisco Express Forwarding operation. Cisco Express Forwarding enables a Route Processor to perform express forwarding. Distributed Cisco Express Forwarding is the other mode of Cisco Express Forwarding operation.
distributedCiscoExpressForwarding--A mode of Cisco Express Forwarding operation in which line cards maintain identical copies of the forwarding information base (FIB) and adjacency tables. The line cards perform the express forwarding between port adapters; this relieves the Route Processor of involvement in the switching operation.
FIB--forwarding information base. A component of Cisco Express Forwarding that is conceptually similar to a routing table or information base. The router uses the FIB lookup table to make destination-based switching decisions during Cisco Express Forwarding operation. The router maintains a mirror image of the forwarding information in an IP routing table.
LIB--label information base. A database used by a label switch router (LSR) to store labels learned from other LSRs, as well as labels assigned by the local LSR.
linecard--A general term for an interface processor that can be used in various Cisco products.
prefix--The network address portion of an IP address. A prefix is specified by a network and mask and is generally represented in the format network/mask. The mask indicates which bits are the network bits. For example, 1.0.0.0/16 means that the first 16 bits of the IP address are masked, making them the network bits. The remaining bits are the host bits. In this example, the network number is 10.0.
RIB--Routing Information Base. A central repository of routes that contains Layer 3 reachability information and destination IP addresses or prefixes. The RIB is also known as the routing table.
RP--Route Processor. The processor module in the Cisco 7000 series routers that contains the CPU, system software, and most of the memory components that are used in the router. It is sometimes called a supervisory processor.