netdev
[Top] [All Lists]

Re: (diet-)FIB alternative fib_hlist.c

To: Robert Olsson <Robert.Olsson@xxxxxxxxxxx>
Subject: Re: (diet-)FIB alternative fib_hlist.c
From: Andre Tomt <andre@xxxxxxxx>
Date: Thu, 05 May 2005 21:54:49 +0200
Cc: netdev@xxxxxxxxxxx, Jens.Laas@xxxxxxxxxxx
In-reply-to: <17016.62444.34282.625407@robur.slu.se>
References: <17016.62444.34282.625407@robur.slu.se>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
Robert Olsson wrote:
Hello!

fib_hlist is the smallest and simpliest routing algo we could think of
it's just a sorted (h)list.

routing (FIB lookup) performance. dst hash is not used.

fib_hlist fib_hash test routing table size -----------------------------------------------------
444 kpps 433 kpps Single flow. local=19/main=5 entries
433 kpps 431 kpps rDoS. local=19/main=5
0.2 kpps 198 kpps rDoS local=19/main=123946


As seen fib_hlist is catastrophe for large routing tables as expected but performs surprisingly well for ordinary routing tables so it should be fine for most hosts and servers. The patch has config option to select FIB.

Probably we soon want to specify differnt lookup schemes for different tables say for local table fib_hash or fib_hlist. While for large main table
fib_hash2/fib_trie would be better option.

From a distribution[1] point of view, a boot time option would be much better than choosing at compile time. Boot time plus a kconfig multiple selection list would be even better. Another perhaps even more user friendly option would be setting it runtime using f.ex. iproute, but I guess that could end up messy..


1. goes for both "a GNU/Linux distribution" and kernel image
   distribution in a production network

<Prev in Thread] Current Thread [Next in Thread>