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 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:

(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 cefcommand. 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 cefcommand looks like this:

Router# show ip cef
%CEF not running

If Cisco Express Forwarding is not enabled on your platform, use the ip cefcommand 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 epochcommand), 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 ActionPurpose
    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 ActionPurpose
      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 cefcommand) 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

        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.

        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.