Gigabit Linux Routers

Eugeniu Patrascu eugen at
Wed Dec 17 16:43:00 UTC 2008

Florian Weimer wrote:
> * Eugeniu Patrascu:
>> You can also use a kernel with LC-Trie as route hashing algorithm to
>> improve FIB lookups.
> Do you know if it's possible to switch of the route cache?  Based on
> my past experience, it was a major source of routing performance
> dependency on traffic patterns (it's basically flow-based forwarding).

I don't understand your question.

In kernel, when you compile it, you have two options:
- hash based route algorithm
- lc-trie based route algorithm

 From what I've read on the internet about the latter algorithm, it's 
supposed to be faster regarding route lookups with large routing tables 
(like a global routing table).

> Anyway, with very few flows, we get quite decent performance (several
> hundred megabits five-minute peak, and we haven't bothered tuning
> yet), running on mid-range single-socket server boards and Intel NICs
> (PCI-X, this is all 2006 hardware).  We use a router-on-a-stick
> configuration with VLAN separation between all hosts to get a decent
> number of ports.

In that configuration you'll split available bandwidth on the NIC and 
also have less throughput because server NICs are not optimized for 
"same interface switching".

> My concern with PC routing (in the WAN area) is a lack of WAN NICs
> with properly maintained kernel drivers.

Usually it's better to get a dedicated router for that kind of stuff 
than bother with PC WAN cards.

More information about the NANOG mailing list