CEF-Software/Hardware

Unanswered Question
Jul 3rd, 2010
User Badges:

I was always under the impression that CEF was a "hardware" switching technology.  Yet, I keep hearing and seeing through different commands "show ip cef" and "show mls .." that there is "hardware" cef switching and "software" cef switching.  Can someone explain the difference without quoting a Cisco document as I have already read these.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.5 (2 ratings)
Loading.
Giuseppe Larosa Sun, 07/04/2010 - 04:48
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

Hello Tsmarcyes,


different platforms use CEF but only multilayer switches or high end routers like ASR 1000, 12000 or CRS have dedicated hardware for performing CEF switching in hardware.


so you find CEF done in hardware on C6500 or in C3560.


CEF is performed in software in software based routers like C1800, C2800, C3800 up to C7200.


you may be find interesting a whitepaper about C6500 architecture as an example of an high end platform


http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps708/prod_white_paper0900aecd80673385.html



to be noted that the process of creating the CEF table and to update it when something changes is performed in software in all cases by the routing processor. The CEF table may be sent to modules that have a local complete copy of the CEF table this is called distributed CEF and provides the greatest performance and scalability.


The C6500 is interesting because it can mix centralized CEF modules with distributed CEF modules (those mounting a DCEF daughter card)


A GSR or CRS works only in distributed CEF mode.


Hope to help

Giuseppe

tsmarcyes Sun, 07/04/2010 - 09:05
User Badges:

Giuslar,


So to verify my understanding, the lower end routers that use cef still use the features of cef (fib and adj table), but it's done using ios instead of special hardware components which I'm assuming are asics or specialized processors. However, even though the switching is done in software, it is still superior in performance to "process switching" because you're not having to interrupt the processor every time to switch a packet.


Is this correct?


Thanks,

tsmarcyes

Mohamed Sobair Sun, 07/04/2010 - 11:21
User Badges:
  • Gold, 750 points or more

There is four Types of packet Switching:


1- Process Switching

2- Fast Switching

3- CEF Switching

4- Application Specific Intergrated Ciruits (CEF in ASICs)


Process Switching : By which the packet sent to the processor to perform Switching.

Fast Switching: Is a Switching mechanism that Creates Table On demand.

CEF Switching: is a Switching mechanism that Copies and Mirrors all Routing information base into the CEF Forward Information base as soon as the router starts up and its therfore a topology driven Switching mechanism..


ASIC: The Hardware Is correctly programmed to forward the packet (Switch the packet).


So yes CEF is the best switching mechanism.



HTH

Mohamed

tsmarcyes Sun, 07/04/2010 - 12:53
User Badges:

I understand that CEF switching is better. I just don’t understand which will be used when. I know of some processor-switches packets such as to the device and NAT, but what about regular data traffic. Will it use software CEF or hardware CEF?


Thanks,

Sean

zartar911 Mon, 07/05/2010 - 09:51
User Badges:

Hi Sean,


CEF switching will be applied to packets except for the ones below

The article might be a little old probably a more updated version somewhere on the cisco site


  • Packets with IP header options
  • Packets sourced from or destined to tunnel interfaces
  • Packets using Ethernet encapsulation types other than ARPA
  • Packets that require fragmentation


http://www.ciscopress.com/articles/article.asp?p=425816&seqNum=2


As Giuseppe mentioned, the catalyst line will perform CEF in hardware (central/distributed) and routers will perform in software except the high end routers.



Regards,

Tim

Actions

This Discussion