I am doing a VRRP lab (in boson netsim) and I noticed they have no ip route-cache command on the vlan 1 interface on both the access and distribution layer switches. VRRP is implemented on the distribution switch.
I gather this is telling CEF not to cache the next hop - this would be required if the master/backup roles changed ???? Yes??? No???
If this is the case, I can understand why it's enabled on the access layer switch but why would it be needed on the distribution as well?
The 'no ip route-cache' command enables process switching on an interface.
Cisco layer 3 devices have three switching modes, Process Switching, Fast Switching, and Cisco Express Forwarding switching. Most current Cisco models have CEF enabled by default because of the amount of information it caches and how efficient it switches traffic.
Seeing the 'no ip route-cache' command means that all packets entering the layer-3 interface will be process switched by the CPU instead of hardware. This can possibly over-burden the CPU when high amounts of traffic is needing to be switched. Fast switching was created to relieve this issue by caching route information and only process-switching the first packet of a flow. A flow is a stream of packets that have headers with mostly identical pieces of information. This generally means, that a flow of packets are all headed to the same destination. The first packet of the flow would be process switched. The information gathered by the forwarding device would then be compiled or broken down into simpler pieces of information and cached so the lookup process would not occur for every packet in the flow. Compiled information was stored in hardware lookup tables and is handled independently of the CPU. This why Fast Switching is better than Process Switching when forwarding traffic for production.
CEF builds upon the idea of Fast Switching by caching information prior to flows entering the device. Also the algorithm is more complex and accurate. Some advanced protocols require IP CEF be enabled. I'm pretty sure only one switching method can be enabled on an interface at one time.
Now, why NetSim chose to add that command is something that is unclear to me. It is just a simulation and there may be a good reason--I'm not sure. Maybe someone can add additional information to this thread.
Hope that clears up things for you.
Good explanation Mike. I wonder if they chose the "no ip route-cache" due to the small size of the network, and perhaps to expose the student to the technology. It's something that isn't always configured by the nework engineer, or paid attention to, but as you pointed out is very helpful in building a more robust foundation for the newtork.
Older switches and routers will sometimes have the no ip route-cache command enabled by default. Either because at the time the SVI can't support CEF switching or because it was "more normal" to process switch packets between virtual interfaces and therefore is default. Today, modern Cisco switches using CEF for layer 3 switching on all interfaces (both physical and virtual).
The VRRP packets are not CEF switched however. If a packet is destined to the device itself (and not passing through it), it needs to be addressed by the control plane (also known as the route processor). Therefore CEF performs an action called "punting" where the packet is moved out of CEF and is handled by the route processor through process switching. Even today, there is plenty of reasons why CEF punts packets to the route-processor: TTL expired, IP options enabled, non-IP packets and ICMP redirects are to name a few.
A very good reson to disable CEF on an interface is to gather debugging information for transient traffic. Debugs don't have the ability to gather information from traffic passing through the device that is handled by CEF. Therefore, a 'debug ip packet [detail]' won't "see" traffic passing through the device if handled by CEF. You will need to disable CEF on the interfaces with the 'no ip route-cache' command in order for the debug process to detect this traffic. 'Debug ip packet' only sees traffic that is processed switched (also known as interrupt switching) and not CEF switched. Disabling CEF on a device can cause the CPU to spike if the device is in production so handle with care. Disable CEF on lab devices first before expermenting with production.
Thomas -one reason can be the task is asking for a specific output for the trace command. This is due to the fact that with the no ip route-cache the packets will be distributed between the outgoing interfaces. Let's say you have a switch with a SVI and two possible connections to the outside workd through two routers.
In this case the packets will be distributed...check it with a traceroute und you see the difference.
Michael, how can you expect hardware based switching in a Simulation in the first place? I believe the software configures process switching itself. Never used NetSim, so I could be wrong too.