Skip to content

Commit

Permalink
[IPV4]: Move FIB lookup algorithm choice under IP_ADVANCED_ROUTING
Browse files Browse the repository at this point in the history
Most users need not be concerned with a complex choice of what
FIB lookup algorithm to use.  So give them the safe default of
IP_FIB_HASH if IP_ADVANCED_ROUTING is disabled.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jun 25, 2005
1 parent f770434 commit bb298ca
Showing 1 changed file with 38 additions and 26 deletions.
64 changes: 38 additions & 26 deletions net/ipv4/Kconfig
Original file line number Diff line number Diff line change
@@ -1,32 +1,6 @@
#
# IP configuration
#
choice
prompt "Choose IP: FIB lookup"
depends on INET
default IP_FIB_HASH

config IP_FIB_HASH
bool "FIB_HASH"
---help---
Current FIB is very proven and good enough for most users.

config IP_FIB_TRIE
bool "FIB_TRIE"
---help---
Use new experimental LC-trie as FIB lookup algoritm.
This improves lookup performance

LC-trie is described in:

IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
An experimental study of compression methods for dynamic tries
Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/

endchoice

config IP_MULTICAST
bool "IP: multicasting"
depends on INET
Expand Down Expand Up @@ -79,6 +53,44 @@ config IP_ADVANCED_ROUTER

If unsure, say N here.

choice
prompt "Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure)"
depends on IP_ADVANCED_ROUTER
default IP_FIB_HASH

config IP_FIB_HASH
bool "FIB_HASH"
---help---
Current FIB is very proven and good enough for most users.

config IP_FIB_TRIE
bool "FIB_TRIE"
---help---
Use new experimental LC-trie as FIB lookup algoritm.
This improves lookup performance if you have a large
number of routes.

LC-trie is a longest matching prefix lookup algorithm which
performs better than FIB_HASH for large routing tables.
But, it consumes more memory and is more complex.

LC-trie is described in:

IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
An experimental study of compression methods for dynamic tries
Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/

endchoice

# If the user does not enable advanced routing, he gets the safe
# default of the fib-hash algorithm.
config IP_FIB_HASH
bool
depends on !IP_ADVANCED_ROUTER
default y

config IP_MULTIPLE_TABLES
bool "IP: policy routing"
depends on IP_ADVANCED_ROUTER
Expand Down

0 comments on commit bb298ca

Please sign in to comment.