tcp: better congestion control defaults
Define CC_NEWRENO in all the appropriate DEFAULTS and std.* config
files. It's the default congestion control algorithm. Add code to cc.c
so that CC_DEFAULT is "newreno" if it's not overriden in the config
file.
Sponsored by: Netflix
Fixes: b8d60729de
("tcp: Congestion control cleanup.")
Revired by: manu, hselasky, jhb, glebius, tuexen
Differential Revision: https://reviews.freebsd.org/D32964
This commit is contained in:
parent
ae062ff269
commit
7e3c9ec906
@ -21,4 +21,7 @@ options GEOM_PART_EBR
|
||||
options GEOM_PART_MBR
|
||||
options GEOM_PART_GPT
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
options NEW_PCIB
|
||||
|
@ -30,8 +30,6 @@ options PREEMPTION # Enable kernel thread preemption
|
||||
options VIMAGE # Subsystem virtualization, e.g. VNET
|
||||
options INET # InterNETworking
|
||||
options INET6 # IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
|
||||
options ROUTE_MPATH # Multipath routing support
|
||||
options FIB_ALGO # Modular fib lookups
|
||||
|
@ -43,8 +43,6 @@ options NUMA # Non-Uniform Memory Architecture support
|
||||
options PREEMPTION # Enable kernel thread preemption
|
||||
options INET # InterNETworking
|
||||
options INET6 # IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options TCP_OFFLOAD # TCP offload
|
||||
options SCTP_SUPPORT # Allow kldload of SCTP
|
||||
options FFS # Berkeley Fast Filesystem
|
||||
|
@ -5,3 +5,6 @@
|
||||
|
||||
device mem
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
|
@ -13,4 +13,7 @@ options GEOM_PART_BSD
|
||||
options GEOM_PART_MBR
|
||||
options GEOM_PART_GPT
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
options NEW_PCIB
|
||||
|
@ -22,6 +22,9 @@ options GEOM_PART_EBR
|
||||
options GEOM_PART_MBR
|
||||
options GEOM_PART_GPT
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
# enable support for native hardware
|
||||
device atpic
|
||||
|
||||
|
@ -31,8 +31,6 @@ options PREEMPTION # Enable kernel thread preemption
|
||||
options VIMAGE # Subsystem virtualization, e.g. VNET
|
||||
options INET # InterNETworking
|
||||
options INET6 # IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
|
||||
options ROUTE_MPATH # Multipath routing support
|
||||
options TCP_HHOOK # hhook(9) framework for TCP
|
||||
|
@ -44,8 +44,6 @@ options SCHED_ULE # ULE scheduler
|
||||
options PREEMPTION # Enable kernel thread preemption
|
||||
options INET # InterNETworking
|
||||
options INET6 # IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options TCP_OFFLOAD # TCP offload
|
||||
options SCTP_SUPPORT # Allow kldload of SCTP
|
||||
options FFS # Berkeley Fast Filesystem
|
||||
|
@ -9,3 +9,6 @@ device uart_ns8250
|
||||
|
||||
options GEOM_PART_BSD
|
||||
options GEOM_PART_MBR
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
@ -77,6 +77,13 @@ __FBSDID("$FreeBSD$");
|
||||
#include <netinet/cc/cc.h>
|
||||
#include <netinet/cc/cc_module.h>
|
||||
|
||||
/*
|
||||
* Have a sane default if no CC_DEFAULT is specified in the kernel config file.
|
||||
*/
|
||||
#ifndef CC_DEFAULT
|
||||
#define CC_DEFAULT "newreno"
|
||||
#endif
|
||||
|
||||
MALLOC_DEFINE(M_CC_MEM, "CC Mem", "Congestion Control State memory");
|
||||
|
||||
/*
|
||||
|
@ -12,4 +12,7 @@ device uart_ns8250
|
||||
options GEOM_PART_BSD
|
||||
options GEOM_PART_MBR
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
options NEW_PCIB
|
||||
|
@ -38,8 +38,6 @@ options PREEMPTION #Enable kernel thread preemption
|
||||
options VIMAGE # Subsystem virtualization, e.g. VNET
|
||||
options INET #InterNETworking
|
||||
options INET6 #IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
|
||||
options TCP_HHOOK # hhook(9) framework for TCP
|
||||
options TCP_RFC7413 # TCP Fast Open
|
||||
|
@ -12,4 +12,7 @@ device mem # Memory and kernel memory devices
|
||||
options GEOM_PART_BSD
|
||||
options GEOM_PART_MBR
|
||||
|
||||
# Default congestion control algorithm
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
|
||||
options NEW_PCIB
|
||||
|
@ -29,8 +29,6 @@ options PREEMPTION # Enable kernel thread preemption
|
||||
options VIMAGE # Subsystem virtualization, e.g. VNET
|
||||
options INET # InterNETworking
|
||||
options INET6 # IPv6 communications protocols
|
||||
options CC_NEWRENO # include newreno congestion control
|
||||
options CC_DEFAULT=\"newreno\" # define our default CC module it should be compiled in.
|
||||
options TCP_HHOOK # hhook(9) framework for TCP
|
||||
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
|
||||
options ROUTE_MPATH # Multipath routing support
|
||||
|
Loading…
Reference in New Issue
Block a user