diff --git a/sys/amd64/conf/DEFAULTS b/sys/amd64/conf/DEFAULTS --- a/sys/amd64/conf/DEFAULTS +++ b/sys/amd64/conf/DEFAULTS @@ -21,4 +21,7 @@ options GEOM_PART_MBR options GEOM_PART_GPT +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control + options NEW_PCIB diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -30,8 +30,6 @@ 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 diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL --- a/sys/amd64/conf/MINIMAL +++ b/sys/amd64/conf/MINIMAL @@ -43,8 +43,6 @@ 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 diff --git a/sys/arm/conf/DEFAULTS b/sys/arm/conf/DEFAULTS --- a/sys/arm/conf/DEFAULTS +++ b/sys/arm/conf/DEFAULTS @@ -5,3 +5,6 @@ device mem +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control + diff --git a/sys/arm64/conf/DEFAULTS b/sys/arm64/conf/DEFAULTS --- a/sys/arm64/conf/DEFAULTS +++ b/sys/arm64/conf/DEFAULTS @@ -13,4 +13,7 @@ options GEOM_PART_MBR options GEOM_PART_GPT +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control + options NEW_PCIB diff --git a/sys/i386/conf/DEFAULTS b/sys/i386/conf/DEFAULTS --- a/sys/i386/conf/DEFAULTS +++ b/sys/i386/conf/DEFAULTS @@ -22,6 +22,9 @@ 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 diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -31,8 +31,6 @@ 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 diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL --- a/sys/i386/conf/MINIMAL +++ b/sys/i386/conf/MINIMAL @@ -44,8 +44,6 @@ 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 diff --git a/sys/mips/conf/DEFAULTS b/sys/mips/conf/DEFAULTS --- a/sys/mips/conf/DEFAULTS +++ b/sys/mips/conf/DEFAULTS @@ -9,3 +9,6 @@ options GEOM_PART_BSD options GEOM_PART_MBR + +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c --- a/sys/netinet/cc/cc.c +++ b/sys/netinet/cc/cc.c @@ -77,6 +77,13 @@ #include #include +/* + * 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"); /* diff --git a/sys/powerpc/conf/DEFAULTS b/sys/powerpc/conf/DEFAULTS --- a/sys/powerpc/conf/DEFAULTS +++ b/sys/powerpc/conf/DEFAULTS @@ -12,4 +12,7 @@ options GEOM_PART_BSD options GEOM_PART_MBR +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control + options NEW_PCIB diff --git a/sys/powerpc/conf/GENERIC b/sys/powerpc/conf/GENERIC --- a/sys/powerpc/conf/GENERIC +++ b/sys/powerpc/conf/GENERIC @@ -38,8 +38,6 @@ 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 diff --git a/sys/riscv/conf/DEFAULTS b/sys/riscv/conf/DEFAULTS --- a/sys/riscv/conf/DEFAULTS +++ b/sys/riscv/conf/DEFAULTS @@ -12,4 +12,7 @@ options GEOM_PART_BSD options GEOM_PART_MBR +# Default congestion control algorithm +options CC_NEWRENO # include newreno congestion control + options NEW_PCIB diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC --- a/sys/riscv/conf/GENERIC +++ b/sys/riscv/conf/GENERIC @@ -29,8 +29,6 @@ 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