The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This module contains an overview of the Cisco Express Forwarding feature. 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.
Cisco Express Forwarding is enabled by default on most Cisco devices running Cisco software. When Cisco Express Forwarding is enabled on a device, the route processor (RP) performs the express forwarding.
To find out if Cisco Express Forwarding is enabled on your device, enter the show ip cef command. If Cisco Express Forwarding is enabled, you receive output that looks like this:
Device# show ip cef
Prefix Next Hop Interface
[...]
10.2.61.8/24 192.168.100.1 FastEthernet1/0/0
192.168.101.1 FastEthernet6/1
[...]
If Cisco Express Forwarding is not enabled on your device, the output for the show ip cef command looks like this:
Device# show ip cef
%CEF not running
When distributed Cisco Express Forwarding is enabled on your device, the line cards perform the express forwarding.
If Cisco Express Forwarding is not enabled on your device, use the ip cef command to enable Cisco Express Forwarding or use the ip cef distributed command to enable distributed Cisco Express Forwarding.
You can use Cisco Express Forwarding in any part of a network. For example, the figure below shows Cisco Express Forwarding being run on devices at aggregation points at the core of a network where traffic levels are high and performance is critical.
Figure 1 | Cisco Express Forwarding Example |
Cisco Express Forwarding supports the following media:
Information conventionally stored in a route cache is stored in several data structures for Cisco Express Forwarding switching. The data structures provide optimized lookup for efficient packet forwarding. The two main components of Cisco Express Forwarding operation are the forwarding information base (FIB) and the adjacency tables.
The FIB is conceptually similar to a routing table or information base. A router uses this lookup table to make destination-based switching decisions during Cisco Express Forwarding operation. The FIB is updated when changes occur in the network and contains all routes known at the time. For more information, see the FIB Overview section.
Adjacency tables maintain Layer 2 next-hop addresses for all FIB entries. For more information, see the CEF Adjacency Tables Overview section.
This separation of the reachability information (in the Cisco Express Forwarding table) and the forwarding information (in the adjacency table), provides a number of benefits:
Cisco Express Forwarding uses a forwarding information base (FIB) to make IP destination prefix-based switching decisions.
The FIB contains the prefixes from the IP routing table structured in a way that is optimized for forwarding. When routing or topology changes occur in the network, the IP routing table is updated, and those changes are reflected in the FIB. The FIB maintains next-hop address information based on the information in the IP routing table.
Because there is a one-to-one correlation between FIB entries and routing table entries, the FIB contains all known routes and eliminates the need for the route cache maintenance that is associated with switching paths such as those used in fast switching and optimum switching.
Several paths can lead to a destination prefix. This occurs, for example, when a router is configured for simultaneous load balancing and redundancy. For each resolved path, the FIB contains a pointer for the adjacency corresponding to the next hop interface for that path.
A node is said to be adjacent to another node if the node can be reached with a single hop across a link layer (Layer 2). Cisco Express Forwarding stores forwarding information (outbound interface and MAC header rewrite) for adjacent nodes in a data structure called the adjacency table. Cisco Express Forwarding uses adjacency tables to prepend Layer 2 addressing information to packets. The adjacency tables maintain Layer 2 next-hop addresses for all FIB entries.
The following sections provide additional information about adjacencies:
Each adjacency table is populated as adjacencies are discovered. Adjacencies are added to the table through indirect manual configuration or dynamically--discovered through a mechanism like Address Resolution Protocol (ARP). Adjacencies can also be added through the use of a routing protocol, such as Border Gateway Protocol (BGP) or Open Shortest Path First (OSPF), which forms neighbor relationships. Each time an adjacency entry is created, a link-layer header for that adjacent node is computed and stored in the adjacency table.
The adjacency information is subsequently used for encapsulation during Cisco Express Forwarding switching of packets.
In addition to adjacencies associated with next-hop interfaces (host-route adjacencies), other types of adjacencies are used to expedite switching when certain exception conditions exist. Prefixes requiring exception processing or special handling are cached with one of the special adjacencies listed in the table below.
Table 1 | Adjacency Types That Require Special Handling |
Packets of This Adjacency Type |
Receive This Processing |
---|---|
Null adjacency |
Packets destined for a Null0 interface are dropped. Null adjacency can be used as an effective form of access filtering. |
Glean adjacency |
When a device is connected to a multiaccess medium, the FIB table on the device maintains a prefix for the subnet rather than for the individual host prefixes. The subnet prefix points to a glean adjacency. A glean adjacency entry indicates that a particular next hop should be directly connected, but there is no MAC header rewrite information available. When the device needs to forward packets to a specific host on a subnet, Cisco Express Forwarding requests an ARP entry for the specific prefix, ARP sends the MAC address, and the adjacency entry for the host is built. |
Punt adjacency |
The device forwards packets requiring special handling or packets sent by features not yet supported in CEF switching paths to the next higher switching level for handling. |
Discard adjacency |
The device discards the packets. |
Drop adjacency |
The device drops the packets. |
When a link-layer header is prepended to a packet, the FIB requires the prepended header to point to an adjacency corresponding to the next hop. If an adjacency was created by the FIB and not discovered through a mechanism such as ARP, the Layer 2 addressing information is not known and the adjacency is considered incomplete or unresolved. Once the Layer 2 information is known, the packet is forwarded to the RP, and the adjacency is determined through ARP. Thus, the adjacency is resolved.
You can use central Cisco Express Forwarding mode when line cards are not available for Cisco Express Forwarding switching, when you need to use features not compatible with distributed Cisco Express Forwarding switching, or when you are running on a platform that is not a distributed platform. When central Cisco Express Forwarding mode is enabled, the Cisco Express Forwarding FIB and adjacency tables reside on the RP, and the RP performs the express forwarding.
The figure below shows the relationship between the routing table, the FIB, and the adjacency table during central Cisco Express Forwarding mode operation. Traffic is forwarded from workgroup LANs to a device on the enterprise backbone that is running central Cisco Express Forwarding. The RP performs the express forwarding.
Figure 2 | Central Cisco Express Forwarding Mode Operation |
For additional scalability, Cisco Express Forwarding runs in the distributed Cisco Express Forwarding form on certain devices by spreading processing tasks across two or more line cards. When distributed Cisco Express Forwarding mode is enabled, line cards maintain identical copies of the FIB and adjacency tables. The line cards perform the express forwarding between port adapters, relieving the RP of involvement in the switching operation, thus also enhancing system performance.
Distributed Cisco Express Forwarding uses an interprocess communication (IPC) mechanism to ensure synchronization of FIB tables and adjacency tables on the RP and line cards.
The figure below shows the relationship between the RP and line cards when distributed Cisco Express Forwarding mode is active.
Figure 3 | Distributed Cisco Express Forwarding Mode Operation |
In the figure above, the line cards perform the switching. In devices where you can mix various types of cards in the same device, all line cards might not support distributed Cisco Express Forwarding. When a line card that does not support distributed Cisco Express Forwarding receives a packet from one of these other devices, the line card forwards the packet to the next higher switching layer (the RP). This structure allows legacy interface processors to exist in the device with newer interface processors.
Cisco Express Forwarding supports distributed tunnel switching, such as that made possible by generic routing encapsulation (GRE) tunnels. Distributed tunnel switching is enabled automatically when you enable Cisco Express Forwarding or distributed Cisco Express Forwarding. You do not perform any additional tasks to enable distributed tunnel switching once you enable Cisco Express Forwarding or distributed Cisco Express Forwarding.
The table below contains links to information about features that you can configure for use with Cisco Express Forwarding or distributed Cisco Express Forwarding operation.
Table 2 | Features to Configure for CEF or dCEF Operation |
For Information on This Feature... |
See the Following Document... |
---|---|
Configuring and verifying basic Cisco Express Forwarding operation |
Configuring Basic Cisco Express Forwarding for Improved Performance, Scalability, and Resiliency in Dynamic Networks |
Enabling or disabling Cisco Express Forwarding or distributed Cisco Express Forwarding switching and forwarding |
Enabling or Disabling Cisco Express Forwarding or Distributed Cisco Express Forwarding to Customize Switching and Forwarding for Dynamic Networks |
Changing your load-balancing scheme |
Configuring a Load-Balancing Scheme for Cisco Express Forwarding Traffic |
Refreshing or rebuilding adjacency or Cisco Express Forwarding tables |
Configuring Epochs to Clear and Rebuild Cisco Express Forwarding and Adjacency Tables |
Configuring Cisco Express Forwarding consistency checkers |
Configuring Cisco Express Forwarding Consistency Checkers for Route Processors and Line Cards |
Configuring network accounting for Cisco Express Forwarding |
Configuring Cisco Express Forwarding Network Accounting |
Customizing the display of Cisco Express Forwarding event trace messages |
Customizing the Display of Cisco Express Forwarding Event Trace Messages |
There are no tasks for configuring Cisco Express Forwarding. Cisco Express Forwarding is enabled by default on most Cisco devices running Cisco software.
See the "Related Documents" section for links to configuration information for Cisco Express Forwarding features and services.
There are no configuration examples for the Cisco Express Forwarding.
See the "Related Documents" section for links to configuration information for Cisco Express Forwarding features and services.
Related Topic |
Document Title |
---|---|
Cisco IOS commands |
|
IP switching commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples. |
Cisco IOS IP Switching Command Reference |
Tasks for verifying Cisco Express Forwarding information on your router |
Configuring Basic Cisco Express Forwarding for Improved Performance, Scalability, and Resiliency in Dynamic Networks |
Tasks for enabling or disabling Cisco Express Forwarding or distributed Cisco Express Forwarding |
Enabling or Disabling Cisco Express Forwarding or Distributed Cisco Express Forwarding to Customize Switching and Forwarding for Dynamic Networks |
Tasks for configuring a load-balancing scheme for Cisco Express Forwarding |
Configuring a Load-Balancing Scheme for Cisco Express Forwarding Traffic |
Tasks for configuring Cisco Express Forwarding consistency checkers |
Configuring Cisco Express Forwarding Consistency Checkers for Route Processors and Line Cards |
Tasks for configuring epochs for Cisco Express Forwarding tables |
Configuring Epochs to Clear and Rebuild Cisco Express Forwarding and Adjacency Tables |
Tasks for configuring and verifying Cisco Express Forwarding network accounting |
Configuring Cisco Express Forwarding Network Accounting |
Tasks for customizing the display of recorded Cisco Express Forwarding events |
Customizing the Display of Recorded Cisco Express Forwarding Events |
Verification steps for Cisco Express Forwarding switching |
|
Troubleshooting tips for incomplete adjacencies |
|
Information about troubleshooting Cisco Express Forwarding routing loops and suboptimal routing |
|
Causes of common Cisco Express Forwarding-related error messages on devices running distributed Cisco Express Forwarding switching and how to troubleshoot them |
Troubleshooting Cisco Express Forwarding-Related Error Messages |
Explanation of and troubleshooting information for the Cisco software implementation of Layer 3 load balancing across multiple parallel links when Cisco Express Forwarding is used |
Troubleshooting Load Balancing Over Parallel Links Using Cisco Express Forwarding |
QoS features that require Cisco Express Forwarding |
RFC |
Title |
---|---|
RFC 1701 |
Generic Route Encapsulation (GRE) |
RFC 2784 |
Generic Routing Encapsulation (GRE) |
RFC 2890 |
Key and Sequence Number Extensions to GRE |
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 3 | Feature Information for Cisco Express Forwarding |
Feature Name |
Releases |
Feature Configuration Information |
---|---|---|
CEF/dCEF - Cisco Express Forwarding | 12.0 Cisco IOS XE Release 2.1 |
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. |
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.