> > > Err. No, that would be worse. "Per prefix" load balancing is an > > > artifact of the Cisco route cache. The route engine (ie the route > > > table) isn't queried for every packet. Instead the route > in the route cache is used. > > > One doesn't configure "per prefix" load balancing. One configures > > > load balancing, which adds multiple routes into the route table. > > > > Modern Cisco routers do not use a "route cache", > > You'll need to define what you mean by "modern" with respect > to cisco. > This statement seems to be incorrect.
the statement is largely correct -- at least from an operational standpoint. it is true that IOS still has 'route-cache'-based forwarding and 'flow'-based forwarding schemes (ip route-cache, ip-route-cache flow), BUT given we're talking about internet routing here, you would defintely want to be using CEF which isn't a cache demand-populated method. the distinction between demand-populated forwarding (FIB) versus prepopulated forwarding tables is relatively straight-forward, as are the reasons why it is a "good thing"<tm>. of course, hindsight is a wonderful thing. > > they use a fully populated forwarding table. And load balancing is > > automatic if you have several equal cost routes. > > This sounds very much like the Juniper description for the > Internet Processor ASIC behavior. I'd say that's worse. umm, no, i'd say it "isn't worse". i can't speak for how J does it (or what methods they may use for loadbalancing across distributed forwarding hardware and/or multiple switch-fabric(s)), but in the case of C, the default (per-prefix) loadbalancing provides deterministic loadbalancing which won't reorder packets within the same src/dst tuple (tuple could be L3 or L3+L4-based). > > Many modern Cisco routers can perform per-packet load balancing > > without doing process switching (but this needs to be > explicitly configured). > > Well, 7500 and 7200 have interface processors that can route > packets using the route cache without interrupting the main > processor. So, if you don't consider 7500's and 7200s to be > "modern", this feature above doesn't seem like a big deal: > They could do that before. It was called CEF and DCEF. umm, what you're saying is largely orthogonal to what Steinar is saying. distributed versus centralized forwarding is a different topic of discussion. you seem familiar with the methods commonly used to gain per-packet loadbalancing from about 6 years ago. CEF can provide the same functionality but without 'process-switching'. > I'm afraid your statements show a certain lack of knowledge > about whats being used in datacenters to route packets. And > perhaps some arrogance about whats "modern". I'd still call > cisco 7500 and 7200 series routers "modern", and they have > route caches. "best practice" would be to use CEF for pre-populated Forwarding Tables rather than 'fast-switching' methods which use demand-based population methods. cheers, lincoln.