.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # IP configuration |
---|
3 | 4 | # |
---|
.. | .. |
---|
9 | 10 | intend to participate in the MBONE, a high bandwidth network on top |
---|
10 | 11 | of the Internet which carries audio and video broadcasts. More |
---|
11 | 12 | information about the MBONE is on the WWW at |
---|
12 | | - <http://www.savetz.com/mbone/>. For most people, it's safe to say N. |
---|
| 13 | + <https://www.savetz.com/mbone/>. For most people, it's safe to say N. |
---|
13 | 14 | |
---|
14 | 15 | config IP_ADVANCED_ROUTER |
---|
15 | 16 | bool "IP: advanced router" |
---|
16 | | - ---help--- |
---|
| 17 | + help |
---|
17 | 18 | If you intend to run your Linux box mostly as a router, i.e. as a |
---|
18 | 19 | computer that forwards and redistributes network packets, say Y; you |
---|
19 | 20 | will then be presented with several options that allow more precise |
---|
.. | .. |
---|
48 | 49 | |
---|
49 | 50 | Note that some distributions enable it in startup scripts. |
---|
50 | 51 | For details about rp_filter strict and loose mode read |
---|
51 | | - <file:Documentation/networking/ip-sysctl.txt>. |
---|
| 52 | + <file:Documentation/networking/ip-sysctl.rst>. |
---|
52 | 53 | |
---|
53 | 54 | If unsure, say N here. |
---|
54 | 55 | |
---|
55 | 56 | config IP_FIB_TRIE_STATS |
---|
56 | 57 | bool "FIB TRIE statistics" |
---|
57 | 58 | depends on IP_ADVANCED_ROUTER |
---|
58 | | - ---help--- |
---|
| 59 | + help |
---|
59 | 60 | Keep track of statistics on structure of FIB TRIE table. |
---|
60 | 61 | Useful for testing and measuring TRIE performance. |
---|
61 | 62 | |
---|
.. | .. |
---|
63 | 64 | bool "IP: policy routing" |
---|
64 | 65 | depends on IP_ADVANCED_ROUTER |
---|
65 | 66 | select FIB_RULES |
---|
66 | | - ---help--- |
---|
| 67 | + help |
---|
67 | 68 | Normally, a router decides what to do with a received packet based |
---|
68 | 69 | solely on the packet's final destination address. If you say Y here, |
---|
69 | 70 | the Linux router will also be able to take the packet's source |
---|
.. | .. |
---|
72 | 73 | |
---|
73 | 74 | If you need more information, see the Linux Advanced |
---|
74 | 75 | Routing and Traffic Control documentation at |
---|
75 | | - <http://lartc.org/howto/lartc.rpdb.html> |
---|
| 76 | + <https://lartc.org/howto/lartc.rpdb.html> |
---|
76 | 77 | |
---|
77 | 78 | If unsure, say N. |
---|
78 | 79 | |
---|
.. | .. |
---|
116 | 117 | config IP_PNP_DHCP |
---|
117 | 118 | bool "IP: DHCP support" |
---|
118 | 119 | depends on IP_PNP |
---|
119 | | - ---help--- |
---|
| 120 | + help |
---|
120 | 121 | If you want your Linux box to mount its whole root file system (the |
---|
121 | 122 | one containing the directory /) from some other computer over the |
---|
122 | 123 | net via NFS and you want the IP address of your computer to be |
---|
.. | .. |
---|
128 | 129 | |
---|
129 | 130 | If unsure, say Y. Note that if you want to use DHCP, a DHCP server |
---|
130 | 131 | must be operating on your network. Read |
---|
131 | | - <file:Documentation/filesystems/nfs/nfsroot.txt> for details. |
---|
| 132 | + <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. |
---|
132 | 133 | |
---|
133 | 134 | config IP_PNP_BOOTP |
---|
134 | 135 | bool "IP: BOOTP support" |
---|
135 | 136 | depends on IP_PNP |
---|
136 | | - ---help--- |
---|
| 137 | + help |
---|
137 | 138 | If you want your Linux box to mount its whole root file system (the |
---|
138 | 139 | one containing the directory /) from some other computer over the |
---|
139 | 140 | net via NFS and you want the IP address of your computer to be |
---|
.. | .. |
---|
143 | 144 | does BOOTP itself, providing all necessary information on the kernel |
---|
144 | 145 | command line, you can say N here. If unsure, say Y. Note that if you |
---|
145 | 146 | want to use BOOTP, a BOOTP server must be operating on your network. |
---|
146 | | - Read <file:Documentation/filesystems/nfs/nfsroot.txt> for details. |
---|
| 147 | + Read <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. |
---|
147 | 148 | |
---|
148 | 149 | config IP_PNP_RARP |
---|
149 | 150 | bool "IP: RARP support" |
---|
.. | .. |
---|
156 | 157 | older protocol which is being obsoleted by BOOTP and DHCP), say Y |
---|
157 | 158 | here. Note that if you want to use RARP, a RARP server must be |
---|
158 | 159 | operating on your network. Read |
---|
159 | | - <file:Documentation/filesystems/nfs/nfsroot.txt> for details. |
---|
| 160 | + <file:Documentation/admin-guide/nfs/nfsroot.rst> for details. |
---|
160 | 161 | |
---|
161 | 162 | config NET_IPIP |
---|
162 | 163 | tristate "IP: tunneling" |
---|
163 | 164 | select INET_TUNNEL |
---|
164 | 165 | select NET_IP_TUNNEL |
---|
165 | | - ---help--- |
---|
| 166 | + help |
---|
166 | 167 | Tunneling means encapsulating data of one protocol type within |
---|
167 | 168 | another protocol and sending it over a channel that understands the |
---|
168 | 169 | encapsulating protocol. This particular tunneling driver implements |
---|
.. | .. |
---|
179 | 180 | config NET_IPGRE_DEMUX |
---|
180 | 181 | tristate "IP: GRE demultiplexer" |
---|
181 | 182 | help |
---|
182 | | - This is helper module to demultiplex GRE packets on GRE version field criteria. |
---|
183 | | - Required by ip_gre and pptp modules. |
---|
| 183 | + This is helper module to demultiplex GRE packets on GRE version field criteria. |
---|
| 184 | + Required by ip_gre and pptp modules. |
---|
184 | 185 | |
---|
185 | 186 | config NET_IP_TUNNEL |
---|
186 | 187 | tristate |
---|
.. | .. |
---|
266 | 267 | |
---|
267 | 268 | config SYN_COOKIES |
---|
268 | 269 | bool "IP: TCP syncookie support" |
---|
269 | | - ---help--- |
---|
| 270 | + help |
---|
270 | 271 | Normal TCP/IP networking is open to an attack known as "SYN |
---|
271 | 272 | flooding". This denial-of-service attack prevents legitimate remote |
---|
272 | 273 | users from being able to connect to your computer during an ongoing |
---|
.. | .. |
---|
279 | 280 | continue to connect, even when your machine is under attack. There |
---|
280 | 281 | is no need for the legitimate users to change their TCP/IP software; |
---|
281 | 282 | SYN cookies work transparently to them. For technical information |
---|
282 | | - about SYN cookies, check out <http://cr.yp.to/syncookies.html>. |
---|
| 283 | + about SYN cookies, check out <https://cr.yp.to/syncookies.html>. |
---|
283 | 284 | |
---|
284 | 285 | If you are SYN flooded, the source address reported by the kernel is |
---|
285 | 286 | likely to have been forged by the attacker; it is only reported as |
---|
.. | .. |
---|
305 | 306 | depends on IPV6 || IPV6=n |
---|
306 | 307 | select INET_TUNNEL |
---|
307 | 308 | select NET_IP_TUNNEL |
---|
308 | | - depends on INET_XFRM_MODE_TUNNEL |
---|
309 | | - ---help--- |
---|
| 309 | + select XFRM |
---|
| 310 | + help |
---|
310 | 311 | Tunneling means encapsulating data of one protocol type within |
---|
311 | 312 | another protocol and sending it over a channel that understands the |
---|
312 | 313 | encapsulating protocol. This can be used with xfrm mode tunnel to give |
---|
.. | .. |
---|
322 | 323 | tristate "IP: Foo (IP protocols) over UDP" |
---|
323 | 324 | select XFRM |
---|
324 | 325 | select NET_UDP_TUNNEL |
---|
325 | | - ---help--- |
---|
| 326 | + help |
---|
326 | 327 | Foo over UDP allows any IP protocol to be directly encapsulated |
---|
327 | 328 | over UDP include tunnels (IPIP, GRE, SIT). By encapsulating in UDP |
---|
328 | 329 | network mechanisms and optimizations for UDP (such as ECMP |
---|
.. | .. |
---|
332 | 333 | bool "IP: FOU encapsulation of IP tunnels" |
---|
333 | 334 | depends on NET_IPIP || NET_IPGRE || IPV6_SIT |
---|
334 | 335 | select NET_FOU |
---|
335 | | - ---help--- |
---|
| 336 | + help |
---|
336 | 337 | Allow configuration of FOU or GUE encapsulation for IP tunnels. |
---|
337 | 338 | When this option is enabled IP tunnels can be configured to use |
---|
338 | 339 | FOU or GUE encapsulation. |
---|
339 | 340 | |
---|
340 | 341 | config INET_AH |
---|
341 | 342 | tristate "IP: AH transformation" |
---|
342 | | - select XFRM_ALGO |
---|
343 | | - select CRYPTO |
---|
344 | | - select CRYPTO_HMAC |
---|
345 | | - select CRYPTO_MD5 |
---|
346 | | - select CRYPTO_SHA1 |
---|
347 | | - ---help--- |
---|
348 | | - Support for IPsec AH. |
---|
| 343 | + select XFRM_AH |
---|
| 344 | + help |
---|
| 345 | + Support for IPsec AH (Authentication Header). |
---|
| 346 | + |
---|
| 347 | + AH can be used with various authentication algorithms. Besides |
---|
| 348 | + enabling AH support itself, this option enables the generic |
---|
| 349 | + implementations of the algorithms that RFC 8221 lists as MUST be |
---|
| 350 | + implemented. If you need any other algorithms, you'll need to enable |
---|
| 351 | + them in the crypto API. You should also enable accelerated |
---|
| 352 | + implementations of any needed algorithms when available. |
---|
349 | 353 | |
---|
350 | 354 | If unsure, say Y. |
---|
351 | 355 | |
---|
352 | 356 | config INET_ESP |
---|
353 | 357 | tristate "IP: ESP transformation" |
---|
354 | | - select XFRM_ALGO |
---|
355 | | - select CRYPTO |
---|
356 | | - select CRYPTO_AUTHENC |
---|
357 | | - select CRYPTO_HMAC |
---|
358 | | - select CRYPTO_MD5 |
---|
359 | | - select CRYPTO_CBC |
---|
360 | | - select CRYPTO_SHA1 |
---|
361 | | - select CRYPTO_DES |
---|
362 | | - select CRYPTO_ECHAINIV |
---|
363 | | - ---help--- |
---|
364 | | - Support for IPsec ESP. |
---|
| 358 | + select XFRM_ESP |
---|
| 359 | + help |
---|
| 360 | + Support for IPsec ESP (Encapsulating Security Payload). |
---|
| 361 | + |
---|
| 362 | + ESP can be used with various encryption and authentication algorithms. |
---|
| 363 | + Besides enabling ESP support itself, this option enables the generic |
---|
| 364 | + implementations of the algorithms that RFC 8221 lists as MUST be |
---|
| 365 | + implemented. If you need any other algorithms, you'll need to enable |
---|
| 366 | + them in the crypto API. You should also enable accelerated |
---|
| 367 | + implementations of any needed algorithms when available. |
---|
365 | 368 | |
---|
366 | 369 | If unsure, say Y. |
---|
367 | 370 | |
---|
.. | .. |
---|
370 | 373 | depends on INET_ESP |
---|
371 | 374 | select XFRM_OFFLOAD |
---|
372 | 375 | default n |
---|
373 | | - ---help--- |
---|
| 376 | + help |
---|
374 | 377 | Support for ESP transformation offload. This makes sense |
---|
375 | 378 | only if this system really does IPsec and want to do it |
---|
376 | 379 | with high throughput. A typical desktop system does not |
---|
.. | .. |
---|
378 | 381 | |
---|
379 | 382 | If unsure, say N. |
---|
380 | 383 | |
---|
| 384 | +config INET_ESPINTCP |
---|
| 385 | + bool "IP: ESP in TCP encapsulation (RFC 8229)" |
---|
| 386 | + depends on XFRM && INET_ESP |
---|
| 387 | + select STREAM_PARSER |
---|
| 388 | + select NET_SOCK_MSG |
---|
| 389 | + select XFRM_ESPINTCP |
---|
| 390 | + help |
---|
| 391 | + Support for RFC 8229 encapsulation of ESP and IKE over |
---|
| 392 | + TCP/IPv4 sockets. |
---|
| 393 | + |
---|
| 394 | + If unsure, say N. |
---|
| 395 | + |
---|
381 | 396 | config INET_IPCOMP |
---|
382 | 397 | tristate "IP: IPComp transformation" |
---|
383 | 398 | select INET_XFRM_TUNNEL |
---|
384 | 399 | select XFRM_IPCOMP |
---|
385 | | - ---help--- |
---|
| 400 | + help |
---|
386 | 401 | Support for IP Payload Compression Protocol (IPComp) (RFC3173), |
---|
387 | 402 | typically needed for IPsec. |
---|
388 | 403 | |
---|
389 | 404 | If unsure, say Y. |
---|
| 405 | + |
---|
| 406 | +config INET_TABLE_PERTURB_ORDER |
---|
| 407 | + int "INET: Source port perturbation table size (as power of 2)" if EXPERT |
---|
| 408 | + default 16 |
---|
| 409 | + help |
---|
| 410 | + Source port perturbation table size (as power of 2) for |
---|
| 411 | + RFC 6056 3.3.4. Algorithm 4: Double-Hash Port Selection Algorithm. |
---|
| 412 | + |
---|
| 413 | + The default is almost always what you want. |
---|
| 414 | + Only change this if you know what you are doing. |
---|
390 | 415 | |
---|
391 | 416 | config INET_XFRM_TUNNEL |
---|
392 | 417 | tristate |
---|
.. | .. |
---|
397 | 422 | tristate |
---|
398 | 423 | default n |
---|
399 | 424 | |
---|
400 | | -config INET_XFRM_MODE_TRANSPORT |
---|
401 | | - tristate "IP: IPsec transport mode" |
---|
402 | | - default y |
---|
403 | | - select XFRM |
---|
404 | | - ---help--- |
---|
405 | | - Support for IPsec transport mode. |
---|
406 | | - |
---|
407 | | - If unsure, say Y. |
---|
408 | | - |
---|
409 | | -config INET_XFRM_MODE_TUNNEL |
---|
410 | | - tristate "IP: IPsec tunnel mode" |
---|
411 | | - default y |
---|
412 | | - select XFRM |
---|
413 | | - ---help--- |
---|
414 | | - Support for IPsec tunnel mode. |
---|
415 | | - |
---|
416 | | - If unsure, say Y. |
---|
417 | | - |
---|
418 | | -config INET_XFRM_MODE_BEET |
---|
419 | | - tristate "IP: IPsec BEET mode" |
---|
420 | | - default y |
---|
421 | | - select XFRM |
---|
422 | | - ---help--- |
---|
423 | | - Support for IPsec BEET mode. |
---|
424 | | - |
---|
425 | | - If unsure, say Y. |
---|
426 | | - |
---|
427 | 425 | config INET_DIAG |
---|
428 | 426 | tristate "INET: socket monitoring interface" |
---|
429 | 427 | default y |
---|
430 | | - ---help--- |
---|
| 428 | + help |
---|
431 | 429 | Support for INET (TCP, DCCP, etc) socket monitoring interface used by |
---|
432 | 430 | native Linux tools such as ss. ss is included in iproute2, currently |
---|
433 | 431 | downloadable at: |
---|
.. | .. |
---|
444 | 442 | tristate "UDP: socket monitoring interface" |
---|
445 | 443 | depends on INET_DIAG && (IPV6 || IPV6=n) |
---|
446 | 444 | default n |
---|
447 | | - ---help--- |
---|
| 445 | + help |
---|
448 | 446 | Support for UDP socket monitoring interface used by the ss tool. |
---|
449 | 447 | If unsure, say Y. |
---|
450 | 448 | |
---|
.. | .. |
---|
452 | 450 | tristate "RAW: socket monitoring interface" |
---|
453 | 451 | depends on INET_DIAG && (IPV6 || IPV6=n) |
---|
454 | 452 | default n |
---|
455 | | - ---help--- |
---|
| 453 | + help |
---|
456 | 454 | Support for RAW socket monitoring interface used by the ss tool. |
---|
457 | 455 | If unsure, say Y. |
---|
458 | 456 | |
---|
.. | .. |
---|
460 | 458 | bool "INET: allow privileged process to administratively close sockets" |
---|
461 | 459 | depends on INET_DIAG |
---|
462 | 460 | default n |
---|
463 | | - ---help--- |
---|
| 461 | + help |
---|
464 | 462 | Provides a SOCK_DESTROY operation that allows privileged processes |
---|
465 | 463 | (e.g., a connection manager or a network administration tool such as |
---|
466 | 464 | ss) to close sockets opened by other processes. Closing a socket in |
---|
.. | .. |
---|
471 | 469 | |
---|
472 | 470 | menuconfig TCP_CONG_ADVANCED |
---|
473 | 471 | bool "TCP: advanced congestion control" |
---|
474 | | - ---help--- |
---|
| 472 | + help |
---|
475 | 473 | Support for selection of various TCP congestion control |
---|
476 | 474 | modules. |
---|
477 | 475 | |
---|
.. | .. |
---|
485 | 483 | config TCP_CONG_BIC |
---|
486 | 484 | tristate "Binary Increase Congestion (BIC) control" |
---|
487 | 485 | default m |
---|
488 | | - ---help--- |
---|
489 | | - BIC-TCP is a sender-side only change that ensures a linear RTT |
---|
490 | | - fairness under large windows while offering both scalability and |
---|
491 | | - bounded TCP-friendliness. The protocol combines two schemes |
---|
492 | | - called additive increase and binary search increase. When the |
---|
493 | | - congestion window is large, additive increase with a large |
---|
494 | | - increment ensures linear RTT fairness as well as good |
---|
495 | | - scalability. Under small congestion windows, binary search |
---|
496 | | - increase provides TCP friendliness. |
---|
497 | | - See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ |
---|
| 486 | + help |
---|
| 487 | + BIC-TCP is a sender-side only change that ensures a linear RTT |
---|
| 488 | + fairness under large windows while offering both scalability and |
---|
| 489 | + bounded TCP-friendliness. The protocol combines two schemes |
---|
| 490 | + called additive increase and binary search increase. When the |
---|
| 491 | + congestion window is large, additive increase with a large |
---|
| 492 | + increment ensures linear RTT fairness as well as good |
---|
| 493 | + scalability. Under small congestion windows, binary search |
---|
| 494 | + increase provides TCP friendliness. |
---|
| 495 | + See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ |
---|
498 | 496 | |
---|
499 | 497 | config TCP_CONG_CUBIC |
---|
500 | 498 | tristate "CUBIC TCP" |
---|
501 | 499 | default y |
---|
502 | | - ---help--- |
---|
503 | | - This is version 2.0 of BIC-TCP which uses a cubic growth function |
---|
504 | | - among other techniques. |
---|
505 | | - See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf |
---|
| 500 | + help |
---|
| 501 | + This is version 2.0 of BIC-TCP which uses a cubic growth function |
---|
| 502 | + among other techniques. |
---|
| 503 | + See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf |
---|
506 | 504 | |
---|
507 | 505 | config TCP_CONG_WESTWOOD |
---|
508 | 506 | tristate "TCP Westwood+" |
---|
509 | 507 | default m |
---|
510 | | - ---help--- |
---|
511 | | - TCP Westwood+ is a sender-side only modification of the TCP Reno |
---|
512 | | - protocol stack that optimizes the performance of TCP congestion |
---|
513 | | - control. It is based on end-to-end bandwidth estimation to set |
---|
514 | | - congestion window and slow start threshold after a congestion |
---|
515 | | - episode. Using this estimation, TCP Westwood+ adaptively sets a |
---|
516 | | - slow start threshold and a congestion window which takes into |
---|
517 | | - account the bandwidth used at the time congestion is experienced. |
---|
518 | | - TCP Westwood+ significantly increases fairness wrt TCP Reno in |
---|
519 | | - wired networks and throughput over wireless links. |
---|
| 508 | + help |
---|
| 509 | + TCP Westwood+ is a sender-side only modification of the TCP Reno |
---|
| 510 | + protocol stack that optimizes the performance of TCP congestion |
---|
| 511 | + control. It is based on end-to-end bandwidth estimation to set |
---|
| 512 | + congestion window and slow start threshold after a congestion |
---|
| 513 | + episode. Using this estimation, TCP Westwood+ adaptively sets a |
---|
| 514 | + slow start threshold and a congestion window which takes into |
---|
| 515 | + account the bandwidth used at the time congestion is experienced. |
---|
| 516 | + TCP Westwood+ significantly increases fairness wrt TCP Reno in |
---|
| 517 | + wired networks and throughput over wireless links. |
---|
520 | 518 | |
---|
521 | 519 | config TCP_CONG_HTCP |
---|
522 | | - tristate "H-TCP" |
---|
523 | | - default m |
---|
524 | | - ---help--- |
---|
525 | | - H-TCP is a send-side only modifications of the TCP Reno |
---|
526 | | - protocol stack that optimizes the performance of TCP |
---|
527 | | - congestion control for high speed network links. It uses a |
---|
528 | | - modeswitch to change the alpha and beta parameters of TCP Reno |
---|
529 | | - based on network conditions and in a way so as to be fair with |
---|
530 | | - other Reno and H-TCP flows. |
---|
| 520 | + tristate "H-TCP" |
---|
| 521 | + default m |
---|
| 522 | + help |
---|
| 523 | + H-TCP is a send-side only modifications of the TCP Reno |
---|
| 524 | + protocol stack that optimizes the performance of TCP |
---|
| 525 | + congestion control for high speed network links. It uses a |
---|
| 526 | + modeswitch to change the alpha and beta parameters of TCP Reno |
---|
| 527 | + based on network conditions and in a way so as to be fair with |
---|
| 528 | + other Reno and H-TCP flows. |
---|
531 | 529 | |
---|
532 | 530 | config TCP_CONG_HSTCP |
---|
533 | 531 | tristate "High Speed TCP" |
---|
534 | 532 | default n |
---|
535 | | - ---help--- |
---|
536 | | - Sally Floyd's High Speed TCP (RFC 3649) congestion control. |
---|
537 | | - A modification to TCP's congestion control mechanism for use |
---|
538 | | - with large congestion windows. A table indicates how much to |
---|
539 | | - increase the congestion window by when an ACK is received. |
---|
540 | | - For more detail see http://www.icir.org/floyd/hstcp.html |
---|
| 533 | + help |
---|
| 534 | + Sally Floyd's High Speed TCP (RFC 3649) congestion control. |
---|
| 535 | + A modification to TCP's congestion control mechanism for use |
---|
| 536 | + with large congestion windows. A table indicates how much to |
---|
| 537 | + increase the congestion window by when an ACK is received. |
---|
| 538 | + For more detail see https://www.icir.org/floyd/hstcp.html |
---|
541 | 539 | |
---|
542 | 540 | config TCP_CONG_HYBLA |
---|
543 | 541 | tristate "TCP-Hybla congestion control algorithm" |
---|
544 | 542 | default n |
---|
545 | | - ---help--- |
---|
546 | | - TCP-Hybla is a sender-side only change that eliminates penalization of |
---|
547 | | - long-RTT, large-bandwidth connections, like when satellite legs are |
---|
548 | | - involved, especially when sharing a common bottleneck with normal |
---|
549 | | - terrestrial connections. |
---|
| 543 | + help |
---|
| 544 | + TCP-Hybla is a sender-side only change that eliminates penalization of |
---|
| 545 | + long-RTT, large-bandwidth connections, like when satellite legs are |
---|
| 546 | + involved, especially when sharing a common bottleneck with normal |
---|
| 547 | + terrestrial connections. |
---|
550 | 548 | |
---|
551 | 549 | config TCP_CONG_VEGAS |
---|
552 | 550 | tristate "TCP Vegas" |
---|
553 | 551 | default n |
---|
554 | | - ---help--- |
---|
555 | | - TCP Vegas is a sender-side only change to TCP that anticipates |
---|
556 | | - the onset of congestion by estimating the bandwidth. TCP Vegas |
---|
557 | | - adjusts the sending rate by modifying the congestion |
---|
558 | | - window. TCP Vegas should provide less packet loss, but it is |
---|
559 | | - not as aggressive as TCP Reno. |
---|
| 552 | + help |
---|
| 553 | + TCP Vegas is a sender-side only change to TCP that anticipates |
---|
| 554 | + the onset of congestion by estimating the bandwidth. TCP Vegas |
---|
| 555 | + adjusts the sending rate by modifying the congestion |
---|
| 556 | + window. TCP Vegas should provide less packet loss, but it is |
---|
| 557 | + not as aggressive as TCP Reno. |
---|
560 | 558 | |
---|
561 | 559 | config TCP_CONG_NV |
---|
562 | | - tristate "TCP NV" |
---|
563 | | - default n |
---|
564 | | - ---help--- |
---|
565 | | - TCP NV is a follow up to TCP Vegas. It has been modified to deal with |
---|
566 | | - 10G networks, measurement noise introduced by LRO, GRO and interrupt |
---|
567 | | - coalescence. In addition, it will decrease its cwnd multiplicatively |
---|
568 | | - instead of linearly. |
---|
| 560 | + tristate "TCP NV" |
---|
| 561 | + default n |
---|
| 562 | + help |
---|
| 563 | + TCP NV is a follow up to TCP Vegas. It has been modified to deal with |
---|
| 564 | + 10G networks, measurement noise introduced by LRO, GRO and interrupt |
---|
| 565 | + coalescence. In addition, it will decrease its cwnd multiplicatively |
---|
| 566 | + instead of linearly. |
---|
569 | 567 | |
---|
570 | | - Note that in general congestion avoidance (cwnd decreased when # packets |
---|
571 | | - queued grows) cannot coexist with congestion control (cwnd decreased only |
---|
572 | | - when there is packet loss) due to fairness issues. One scenario when they |
---|
573 | | - can coexist safely is when the CA flows have RTTs << CC flows RTTs. |
---|
| 568 | + Note that in general congestion avoidance (cwnd decreased when # packets |
---|
| 569 | + queued grows) cannot coexist with congestion control (cwnd decreased only |
---|
| 570 | + when there is packet loss) due to fairness issues. One scenario when they |
---|
| 571 | + can coexist safely is when the CA flows have RTTs << CC flows RTTs. |
---|
574 | 572 | |
---|
575 | | - For further details see http://www.brakmo.org/networking/tcp-nv/ |
---|
| 573 | + For further details see http://www.brakmo.org/networking/tcp-nv/ |
---|
576 | 574 | |
---|
577 | 575 | config TCP_CONG_SCALABLE |
---|
578 | 576 | tristate "Scalable TCP" |
---|
579 | 577 | default n |
---|
580 | | - ---help--- |
---|
581 | | - Scalable TCP is a sender-side only change to TCP which uses a |
---|
582 | | - MIMD congestion control algorithm which has some nice scaling |
---|
583 | | - properties, though is known to have fairness issues. |
---|
584 | | - See http://www.deneholme.net/tom/scalable/ |
---|
| 578 | + help |
---|
| 579 | + Scalable TCP is a sender-side only change to TCP which uses a |
---|
| 580 | + MIMD congestion control algorithm which has some nice scaling |
---|
| 581 | + properties, though is known to have fairness issues. |
---|
| 582 | + See http://www.deneholme.net/tom/scalable/ |
---|
585 | 583 | |
---|
586 | 584 | config TCP_CONG_LP |
---|
587 | 585 | tristate "TCP Low Priority" |
---|
588 | 586 | default n |
---|
589 | | - ---help--- |
---|
590 | | - TCP Low Priority (TCP-LP), a distributed algorithm whose goal is |
---|
591 | | - to utilize only the excess network bandwidth as compared to the |
---|
592 | | - ``fair share`` of bandwidth as targeted by TCP. |
---|
593 | | - See http://www-ece.rice.edu/networks/TCP-LP/ |
---|
| 587 | + help |
---|
| 588 | + TCP Low Priority (TCP-LP), a distributed algorithm whose goal is |
---|
| 589 | + to utilize only the excess network bandwidth as compared to the |
---|
| 590 | + ``fair share`` of bandwidth as targeted by TCP. |
---|
| 591 | + See http://www-ece.rice.edu/networks/TCP-LP/ |
---|
594 | 592 | |
---|
595 | 593 | config TCP_CONG_VENO |
---|
596 | 594 | tristate "TCP Veno" |
---|
597 | 595 | default n |
---|
598 | | - ---help--- |
---|
599 | | - TCP Veno is a sender-side only enhancement of TCP to obtain better |
---|
600 | | - throughput over wireless networks. TCP Veno makes use of state |
---|
601 | | - distinguishing to circumvent the difficult judgment of the packet loss |
---|
602 | | - type. TCP Veno cuts down less congestion window in response to random |
---|
603 | | - loss packets. |
---|
604 | | - See <http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1177186> |
---|
| 596 | + help |
---|
| 597 | + TCP Veno is a sender-side only enhancement of TCP to obtain better |
---|
| 598 | + throughput over wireless networks. TCP Veno makes use of state |
---|
| 599 | + distinguishing to circumvent the difficult judgment of the packet loss |
---|
| 600 | + type. TCP Veno cuts down less congestion window in response to random |
---|
| 601 | + loss packets. |
---|
| 602 | + See <http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1177186> |
---|
605 | 603 | |
---|
606 | 604 | config TCP_CONG_YEAH |
---|
607 | 605 | tristate "YeAH TCP" |
---|
608 | 606 | select TCP_CONG_VEGAS |
---|
609 | 607 | default n |
---|
610 | | - ---help--- |
---|
611 | | - YeAH-TCP is a sender-side high-speed enabled TCP congestion control |
---|
612 | | - algorithm, which uses a mixed loss/delay approach to compute the |
---|
613 | | - congestion window. It's design goals target high efficiency, |
---|
614 | | - internal, RTT and Reno fairness, resilience to link loss while |
---|
615 | | - keeping network elements load as low as possible. |
---|
| 608 | + help |
---|
| 609 | + YeAH-TCP is a sender-side high-speed enabled TCP congestion control |
---|
| 610 | + algorithm, which uses a mixed loss/delay approach to compute the |
---|
| 611 | + congestion window. It's design goals target high efficiency, |
---|
| 612 | + internal, RTT and Reno fairness, resilience to link loss while |
---|
| 613 | + keeping network elements load as low as possible. |
---|
616 | 614 | |
---|
617 | | - For further details look here: |
---|
618 | | - http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf |
---|
| 615 | + For further details look here: |
---|
| 616 | + http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf |
---|
619 | 617 | |
---|
620 | 618 | config TCP_CONG_ILLINOIS |
---|
621 | 619 | tristate "TCP Illinois" |
---|
622 | 620 | default n |
---|
623 | | - ---help--- |
---|
624 | | - TCP-Illinois is a sender-side modification of TCP Reno for |
---|
625 | | - high speed long delay links. It uses round-trip-time to |
---|
626 | | - adjust the alpha and beta parameters to achieve a higher average |
---|
627 | | - throughput and maintain fairness. |
---|
| 621 | + help |
---|
| 622 | + TCP-Illinois is a sender-side modification of TCP Reno for |
---|
| 623 | + high speed long delay links. It uses round-trip-time to |
---|
| 624 | + adjust the alpha and beta parameters to achieve a higher average |
---|
| 625 | + throughput and maintain fairness. |
---|
628 | 626 | |
---|
629 | | - For further details see: |
---|
630 | | - http://www.ews.uiuc.edu/~shaoliu/tcpillinois/index.html |
---|
| 627 | + For further details see: |
---|
| 628 | + http://www.ews.uiuc.edu/~shaoliu/tcpillinois/index.html |
---|
631 | 629 | |
---|
632 | 630 | config TCP_CONG_DCTCP |
---|
633 | 631 | tristate "DataCenter TCP (DCTCP)" |
---|
634 | 632 | default n |
---|
635 | | - ---help--- |
---|
636 | | - DCTCP leverages Explicit Congestion Notification (ECN) in the network to |
---|
637 | | - provide multi-bit feedback to the end hosts. It is designed to provide: |
---|
| 633 | + help |
---|
| 634 | + DCTCP leverages Explicit Congestion Notification (ECN) in the network to |
---|
| 635 | + provide multi-bit feedback to the end hosts. It is designed to provide: |
---|
638 | 636 | |
---|
639 | | - - High burst tolerance (incast due to partition/aggregate), |
---|
640 | | - - Low latency (short flows, queries), |
---|
641 | | - - High throughput (continuous data updates, large file transfers) with |
---|
642 | | - commodity, shallow-buffered switches. |
---|
| 637 | + - High burst tolerance (incast due to partition/aggregate), |
---|
| 638 | + - Low latency (short flows, queries), |
---|
| 639 | + - High throughput (continuous data updates, large file transfers) with |
---|
| 640 | + commodity, shallow-buffered switches. |
---|
643 | 641 | |
---|
644 | | - All switches in the data center network running DCTCP must support |
---|
645 | | - ECN marking and be configured for marking when reaching defined switch |
---|
646 | | - buffer thresholds. The default ECN marking threshold heuristic for |
---|
647 | | - DCTCP on switches is 20 packets (30KB) at 1Gbps, and 65 packets |
---|
648 | | - (~100KB) at 10Gbps, but might need further careful tweaking. |
---|
| 642 | + All switches in the data center network running DCTCP must support |
---|
| 643 | + ECN marking and be configured for marking when reaching defined switch |
---|
| 644 | + buffer thresholds. The default ECN marking threshold heuristic for |
---|
| 645 | + DCTCP on switches is 20 packets (30KB) at 1Gbps, and 65 packets |
---|
| 646 | + (~100KB) at 10Gbps, but might need further careful tweaking. |
---|
649 | 647 | |
---|
650 | | - For further details see: |
---|
651 | | - http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf |
---|
| 648 | + For further details see: |
---|
| 649 | + http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf |
---|
652 | 650 | |
---|
653 | 651 | config TCP_CONG_CDG |
---|
654 | 652 | tristate "CAIA Delay-Gradient (CDG)" |
---|
655 | 653 | default n |
---|
656 | | - ---help--- |
---|
657 | | - CAIA Delay-Gradient (CDG) is a TCP congestion control that modifies |
---|
658 | | - the TCP sender in order to: |
---|
| 654 | + help |
---|
| 655 | + CAIA Delay-Gradient (CDG) is a TCP congestion control that modifies |
---|
| 656 | + the TCP sender in order to: |
---|
659 | 657 | |
---|
660 | 658 | o Use the delay gradient as a congestion signal. |
---|
661 | 659 | o Back off with an average probability that is independent of the RTT. |
---|
662 | 660 | o Coexist with flows that use loss-based congestion control. |
---|
663 | 661 | o Tolerate packet loss unrelated to congestion. |
---|
664 | 662 | |
---|
665 | | - For further details see: |
---|
666 | | - D.A. Hayes and G. Armitage. "Revisiting TCP congestion control using |
---|
667 | | - delay gradients." In Networking 2011. Preprint: http://goo.gl/No3vdg |
---|
| 663 | + For further details see: |
---|
| 664 | + D.A. Hayes and G. Armitage. "Revisiting TCP congestion control using |
---|
| 665 | + delay gradients." In Networking 2011. Preprint: http://goo.gl/No3vdg |
---|
668 | 666 | |
---|
669 | 667 | config TCP_CONG_BBR |
---|
670 | 668 | tristate "BBR TCP" |
---|
671 | 669 | default n |
---|
672 | | - ---help--- |
---|
| 670 | + help |
---|
673 | 671 | |
---|
674 | | - BBR (Bottleneck Bandwidth and RTT) TCP congestion control aims to |
---|
675 | | - maximize network utilization and minimize queues. It builds an explicit |
---|
676 | | - model of the the bottleneck delivery rate and path round-trip |
---|
677 | | - propagation delay. It tolerates packet loss and delay unrelated to |
---|
678 | | - congestion. It can operate over LAN, WAN, cellular, wifi, or cable |
---|
679 | | - modem links. It can coexist with flows that use loss-based congestion |
---|
680 | | - control, and can operate with shallow buffers, deep buffers, |
---|
681 | | - bufferbloat, policers, or AQM schemes that do not provide a delay |
---|
682 | | - signal. It requires the fq ("Fair Queue") pacing packet scheduler. |
---|
| 672 | + BBR (Bottleneck Bandwidth and RTT) TCP congestion control aims to |
---|
| 673 | + maximize network utilization and minimize queues. It builds an explicit |
---|
| 674 | + model of the bottleneck delivery rate and path round-trip propagation |
---|
| 675 | + delay. It tolerates packet loss and delay unrelated to congestion. It |
---|
| 676 | + can operate over LAN, WAN, cellular, wifi, or cable modem links. It can |
---|
| 677 | + coexist with flows that use loss-based congestion control, and can |
---|
| 678 | + operate with shallow buffers, deep buffers, bufferbloat, policers, or |
---|
| 679 | + AQM schemes that do not provide a delay signal. It requires the fq |
---|
| 680 | + ("Fair Queue") pacing packet scheduler. |
---|
683 | 681 | |
---|
684 | 682 | choice |
---|
685 | 683 | prompt "Default TCP congestion control" |
---|
.. | .. |
---|
748 | 746 | bool "TCP: MD5 Signature Option support (RFC2385)" |
---|
749 | 747 | select CRYPTO |
---|
750 | 748 | select CRYPTO_MD5 |
---|
751 | | - ---help--- |
---|
| 749 | + help |
---|
752 | 750 | RFC2385 specifies a method of giving MD5 protection to TCP sessions. |
---|
753 | 751 | Its main (only?) use is to protect BGP sessions between core routers |
---|
754 | 752 | on the Internet. |
---|