aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/Kconfig')
-rw-r--r--net/ipv4/Kconfig172
1 files changed, 146 insertions, 26 deletions
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index 567b03b1c349..347083433120 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -1,32 +1,6 @@
1# 1#
2# IP configuration 2# IP configuration
3# 3#
4choice
5 prompt "Choose IP: FIB lookup"
6 depends on INET
7 default IP_FIB_HASH
8
9config IP_FIB_HASH
10 bool "FIB_HASH"
11 ---help---
12 Current FIB is very proven and good enough for most users.
13
14config IP_FIB_TRIE
15 bool "FIB_TRIE"
16 ---help---
17 Use new experimental LC-trie as FIB lookup algoritm.
18 This improves lookup performance
19
20 LC-trie is described in:
21
22 IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
23 IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
24 An experimental study of compression methods for dynamic tries
25 Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
26 http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/
27
28endchoice
29
30config IP_MULTICAST 4config IP_MULTICAST
31 bool "IP: multicasting" 5 bool "IP: multicasting"
32 depends on INET 6 depends on INET
@@ -79,6 +53,44 @@ config IP_ADVANCED_ROUTER
79 53
80 If unsure, say N here. 54 If unsure, say N here.
81 55
56choice
57 prompt "Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure)"
58 depends on IP_ADVANCED_ROUTER
59 default IP_FIB_HASH
60
61config IP_FIB_HASH
62 bool "FIB_HASH"
63 ---help---
64 Current FIB is very proven and good enough for most users.
65
66config IP_FIB_TRIE
67 bool "FIB_TRIE"
68 ---help---
69 Use new experimental LC-trie as FIB lookup algoritm.
70 This improves lookup performance if you have a large
71 number of routes.
72
73 LC-trie is a longest matching prefix lookup algorithm which
74 performs better than FIB_HASH for large routing tables.
75 But, it consumes more memory and is more complex.
76
77 LC-trie is described in:
78
79 IP-address lookup using LC-tries. Stefan Nilsson and Gunnar Karlsson
80 IEEE Journal on Selected Areas in Communications, 17(6):1083-1092, June 1999
81 An experimental study of compression methods for dynamic tries
82 Stefan Nilsson and Matti Tikkanen. Algorithmica, 33(1):19-33, 2002.
83 http://www.nada.kth.se/~snilsson/public/papers/dyntrie2/
84
85endchoice
86
87# If the user does not enable advanced routing, he gets the safe
88# default of the fib-hash algorithm.
89config IP_FIB_HASH
90 bool
91 depends on !IP_ADVANCED_ROUTER
92 default y
93
82config IP_MULTIPLE_TABLES 94config IP_MULTIPLE_TABLES
83 bool "IP: policy routing" 95 bool "IP: policy routing"
84 depends on IP_ADVANCED_ROUTER 96 depends on IP_ADVANCED_ROUTER
@@ -433,5 +445,113 @@ config IP_TCPDIAG
433config IP_TCPDIAG_IPV6 445config IP_TCPDIAG_IPV6
434 def_bool (IP_TCPDIAG=y && IPV6=y) || (IP_TCPDIAG=m && IPV6) 446 def_bool (IP_TCPDIAG=y && IPV6=y) || (IP_TCPDIAG=m && IPV6)
435 447
448config TCP_CONG_ADVANCED
449 bool "TCP: advanced congestion control"
450 depends on INET
451 default y
452 ---help---
453 Support for selection of various TCP congestion control
454 modules.
455
456 Nearly all users can safely say no here, and a safe default
457 selection will be made (BIC-TCP with new Reno as a fallback).
458
459 If unsure, say N.
460
461# TCP Reno is builtin (required as fallback)
462menu "TCP congestion control"
463 depends on TCP_CONG_ADVANCED
464
465config TCP_CONG_BIC
466 tristate "Binary Increase Congestion (BIC) control"
467 depends on INET
468 default y
469 ---help---
470 BIC-TCP is a sender-side only change that ensures a linear RTT
471 fairness under large windows while offering both scalability and
472 bounded TCP-friendliness. The protocol combines two schemes
473 called additive increase and binary search increase. When the
474 congestion window is large, additive increase with a large
475 increment ensures linear RTT fairness as well as good
476 scalability. Under small congestion windows, binary search
477 increase provides TCP friendliness.
478 See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/
479
480config TCP_CONG_WESTWOOD
481 tristate "TCP Westwood+"
482 depends on INET
483 default m
484 ---help---
485 TCP Westwood+ is a sender-side only modification of the TCP Reno
486 protocol stack that optimizes the performance of TCP congestion
487 control. It is based on end-to-end bandwidth estimation to set
488 congestion window and slow start threshold after a congestion
489 episode. Using this estimation, TCP Westwood+ adaptively sets a
490 slow start threshold and a congestion window which takes into
491 account the bandwidth used at the time congestion is experienced.
492 TCP Westwood+ significantly increases fairness wrt TCP Reno in
493 wired networks and throughput over wireless links.
494
495config TCP_CONG_HTCP
496 tristate "H-TCP"
497 depends on INET
498 default m
499 ---help---
500 H-TCP is a send-side only modifications of the TCP Reno
501 protocol stack that optimizes the performance of TCP
502 congestion control for high speed network links. It uses a
503 modeswitch to change the alpha and beta parameters of TCP Reno
504 based on network conditions and in a way so as to be fair with
505 other Reno and H-TCP flows.
506
507config TCP_CONG_HSTCP
508 tristate "High Speed TCP"
509 depends on INET && EXPERIMENTAL
510 default n
511 ---help---
512 Sally Floyd's High Speed TCP (RFC 3649) congestion control.
513 A modification to TCP's congestion control mechanism for use
514 with large congestion windows. A table indicates how much to
515 increase the congestion window by when an ACK is received.
516 For more detail see http://www.icir.org/floyd/hstcp.html
517
518config TCP_CONG_HYBLA
519 tristate "TCP-Hybla congestion control algorithm"
520 depends on INET && EXPERIMENTAL
521 default n
522 ---help---
523 TCP-Hybla is a sender-side only change that eliminates penalization of
524 long-RTT, large-bandwidth connections, like when satellite legs are
525 involved, expecially when sharing a common bottleneck with normal
526 terrestrial connections.
527
528config TCP_CONG_VEGAS
529 tristate "TCP Vegas"
530 depends on INET && EXPERIMENTAL
531 default n
532 ---help---
533 TCP Vegas is a sender-side only change to TCP that anticipates
534 the onset of congestion by estimating the bandwidth. TCP Vegas
535 adjusts the sending rate by modifying the congestion
536 window. TCP Vegas should provide less packet loss, but it is
537 not as aggressive as TCP Reno.
538
539config TCP_CONG_SCALABLE
540 tristate "Scalable TCP"
541 depends on INET && EXPERIMENTAL
542 default n
543 ---help---
544 Scalable TCP is a sender-side only change to TCP which uses a
545 MIMD congestion control algorithm which has some nice scaling
546 properties, though is known to have fairness issues.
547 See http://www-lce.eng.cam.ac.uk/~ctk21/scalable/
548
549endmenu
550
551config TCP_CONG_BIC
552 boolean
553 depends on !TCP_CONG_ADVANCED
554 default y
555
436source "net/ipv4/ipvs/Kconfig" 556source "net/ipv4/ipvs/Kconfig"
437 557