Configuring Epochs

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.

Finding Feature Information

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

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. 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:

(See the Nonstop Forwarding Enhanced FIB Refresh for an explanation of the term "epoch.")

For links to information about other Cisco Express Forwarding and distributed Cisco Express Forwarding features you can configure, refer to the Additional References.

Cisco Platform Support for Central CEF and dCEF

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 the show ip cef command. 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 show ip cef command looks like this:


Router# show ip cef
%CEF not running

If Cisco Express Forwarding is not enabled on your platform, use the ip cef command to enable (central) Cisco Express Forwarding or the ip cef distributed 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 clear ip cef epoch [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 show ip cef epoch command), 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. show adjacency summary
  3. clear adjacency table
  4. show adjacency summary
  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

show adjacency summary

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

clear adjacency table

Example:


Router# clear adjacency table

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

Step 4

show adjacency summary

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 clear cef table 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. show ip cef epoch
  3. clear cef table {ipv4 | ipv6 } [vrf {vrf-name | * }]
  4. show ip cef epoch
  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

show ip cef epoch

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

clear cef table {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

show ip cef epoch

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. show adjacency summary detail
  3. show adjacency summary
  4. show ip cef epoch
  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

show adjacency summary detail

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

show adjacency summary

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 the show adjacency detail command in the previous step.

Step 4

show ip cef epoch

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:


Router# disable
Router>

Configuration Examples for Epochs

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 (debug cef command) enabled:


Router# clear cef table ipv4 vrf *
06:56:01: FIBtable: Refreshing table IPv4:Default
06:56:01: FIBtable: Invalidated 224.0.0.0/4 in IPv4:Default
06:56:01: FIBtable: Deleted 224.0.0.0/4 from IPv4:Default
06:56:01: FIBtable: Validated 224.0.0.0/4 in IPv4:Default
06:56:01: FIBtable: IPv4: Event up, 10.1.41.0/24, vrf Default, 1 path, flags 0100
0220
06:56:01: FIBtable: IPv4: Adding route for 10.1.41.0/24 but route already exists.
 Trying modify.
06:56:01: FIBtable: IPv4: Event up, 10.0.0.11/32, vrf Default, 1 path, flags 010
00000
06:56:01: FIBtable: IPv4: Adding route for 10.0.0.11/32 but route already exists. 
Trying modify.
06:56:01: FIBtable: IPv4: Event up, 10.0.0.15/32, vrf Default, 1 path, flags 010
00000
06:56:01: FIBtable: IPv4: Adding route for 10.0.0.15/32 but route already exists. 
Trying modify.
06:56:01: FIBtable: IPv4: Event up, 10.0.0.7/32, vrf Default, 1 path, flags 0100
0220
06:56:01: FIBtable: IPv4: Adding route for 10.0.0.7/32 but route already exists. 
Trying modify.
06:56:01: FIBtable: IPv4: Event up, 10.0.0.0/8, vrf Default, 1 path, flags 00000
220
06:56:01: FIBtable: IPv4: Adding route for 10.0.0.0/8 but route already exists. 
Trying modify.
06:56:01: FIBtable: IPv4: Event up, 0.0.0.0/0, vrf Default, 1 path, flags 004200
05
06:56:01: FIBtable: IPv4: Adding route for 0.0.0.0/0 but route already exists. 
Trying modify.
06:56:01: FIBtable: Starting purge of table IPv4:Default to epoch 13
06:56:01: FIBtable: Invalidated 10.1.41.1/32 in IPv4:Default
06:56:01: FIBtable: Deleted 10.1.41.1/32 from IPv4:Default
06:56:01: FIBtable: Purged 1 prefix from table IPv4:Default
06:56:01: FIBtable: Validated 10.1.41.1/32 in IPv4:Default
06:56:06: FIBtable: IPv4: Event modified, 0.0.0.0/0, vrf Default, 1 path, flags 
00420005
06:56:06: FIBtable: IPv4: Event up, default, 0.0.0.0/0, vrf Default, 1 path, 
flags 00420005
06:56:06: FIBtable: IPv4: Adding route for 0.0.0.0/0 but route already exists. 
Trying modify.

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

Description of Cisco Express Forwarding commands

Cisco IOS IP Switching Command Reference

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.

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

Feature Information for Configuring Epochs

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.

Cisco Express Forwarding --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.

distributed Cisco Express Forwarding --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.

line card --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.