On 8 Apr 2002, Paul Vixie wrote:
I seem to remember fast switching was per-destination, and CEF was round robin. But it seems CEF is now per-destination as well in IOS 12.2. Round robin is optional.
CEF is flow-hashed, and the hash seems to include both source and destination, and seems to include the port numbers. This is by observing the behaviour of flows hitting various members of the F.ROOT-SERVERS.NET set, each of whom sends F's address to several upstream routers using OSPF. CEF works like a charm -- the load is never split by more than 45-55 and that's damn good for wire speed hashing in my view.
We used CEF in 11.x and it behaved the same way. It was never round-robin in any way we could observe.
You're right. I was thinking of process switching. According to: http://www.ils.unc.edu/dempsey/186s00/reorderingpaper.pdf packet reordering at MAE East was extremely common a few years ago. Does anyone have information whether this is still happening?