Most purpose-built routing "appliances" use ternary content
addressable memory (TCAM) in order to accomplish deterministic,
hardware-based, longest-prefix lookups in large routing tables,
such as a full Internet BGP feed. TCAM is used to replace
software-based table lookup algorithms which have been
empirically shown to lack scalability as the number of routes
in the routing table increases, and as the line rate in/out of
the routers increases. Current TCAM hardware-based routing
engines scale to 10 Gbps, and beyond. Much research has been
done in this area in the last 15 years.
I don't think general purpose BSD/Linux systems meet the
scalability requirement for deterministic network design.
Nothing political about that.
Whoa. How'd you manage to get it completely inverted?
It's the TCAM based platforms that are a scaling problem. You have
to do a forklift upgrade of them every now and then in order to
assure yourself of being able to continue to hold a full table.
Put another way:
Software-based lookup tables do tend to perform more slowly as the
number of routes grows. However, a Linux or BSD router that was
operational in 1999 will still be functional today, able to route
a full table today. It will suffer a mild degradation in
forwarding capabilities as the route table grows, but this is mild.
Hardware-based lookup tables have a really bad failure mode: they
fill. When they fill, generally speaking, parts of the Internet
may vanish. It is great to be able to forward at line speed up to
the table capacity of the box, but you can do the same thing on a
software-based platform... to get line rate simply means you need
to ensure you've got sufficient excess resources.
Software-based platforms are finicky at high PPS rates, but these
days it'd be kinda hard to come up with a platform that *couldn't*
route 1Gbps. We're talking a fraction of that for this guy who has
a few 100Mbps links.
Now, of course, if he plans to scale that few 100Mbps links up to a
few 10Gbps links in the next few years, then there is definitely a
question about the suitability of a software-based platform, but it
is also the case that any inexpensive TCAM-based platform that might
be selected will also need to be upgraded ... at significant
I would have thought that this lesson would still be fresh in the
minds of people, as we just passed 256K routes a little while ago
and broke a whole bunch of Catalyst 6500/7600 SUP720-3B's (etc).
I guess the pain isn't as memorable as I thought.