CEF data structures: RIB, FIB, adjacency

CEF is the default forwarding engine: no per-packet CPU work. Two precomputed structures:

Flow: RIB → FIB → Adjacency. Both update event-driven on routing or ARP changes — hardware (ASIC) handles the hot path, the CPU only sees packets the ASIC punts it: traffic to the router itself, ACL-logged packets, unresolved adjacencies, IP options and other “complex” packets.

CEF adjacency resolution
show ip cef output
CEF FIB entries
CEF adjacency detail
CEF per interface

The lineage

Method Lookup Status
Process switching every packet: RIB + ARP fallback only
Fast switching first packet, then shortcut cache deprecated
CEF FIB + adjacency, no CPU default

Inspect: show ip cef (and show ip cef <prefix> detail to see the exact adjacency, i.e. the rewrite string). CEF is also the prerequisite everything else hangs off — NetFlow accounting and VRF-lite switching both ride on it.