From d6425504310280a4cfc4f34977fb6638c1ff557b Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 24 Dec 2020 09:35:39 +0800 Subject: [PATCH 1/4] kernel: remove target specific setting of CONFIG_TCP_CONG_ADVANCED The option was introduced in upstream linux commit a6484045 ("[TCP]: Do not present confusing congestion control options by default."). The option is set to y in generic config and to the moment does not incur additional size increment. Make it y for all so that packages such as kmod-tcp-bbr do not have to set it on every occasion Signed-off-by: Yousong Zhou --- target/linux/layerscape/armv7/config-5.4 | 1 - target/linux/layerscape/armv8_64b/config-5.4 | 1 - target/linux/zynq/config-5.4 | 1 - 3 files changed, 3 deletions(-) diff --git a/target/linux/layerscape/armv7/config-5.4 b/target/linux/layerscape/armv7/config-5.4 index 15c3492349..019119d6db 100644 --- a/target/linux/layerscape/armv7/config-5.4 +++ b/target/linux/layerscape/armv7/config-5.4 @@ -715,7 +715,6 @@ CONFIG_SYNC_FILE=y CONFIG_SYSFS_SYSCALL=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_SYS_SUPPORTS_HUGETLBFS=y -# CONFIG_TCP_CONG_ADVANCED is not set CONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 diff --git a/target/linux/layerscape/armv8_64b/config-5.4 b/target/linux/layerscape/armv8_64b/config-5.4 index dd9abca986..cd8ea82e52 100644 --- a/target/linux/layerscape/armv8_64b/config-5.4 +++ b/target/linux/layerscape/armv8_64b/config-5.4 @@ -894,7 +894,6 @@ CONFIG_TASKS_RCU=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_TASK_XACCT=y -# CONFIG_TCP_CONG_ADVANCED is not set CONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 diff --git a/target/linux/zynq/config-5.4 b/target/linux/zynq/config-5.4 index 5b7b0ebfb3..04fde2add2 100644 --- a/target/linux/zynq/config-5.4 +++ b/target/linux/zynq/config-5.4 @@ -572,7 +572,6 @@ CONFIG_SWP_EMULATE=y CONFIG_SYNC_FILE=y CONFIG_SYSFS_SYSCALL=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y -# CONFIG_TCP_CONG_ADVANCED is not set # CONFIG_TEXTSEARCH is not set CONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y From 72447181bce88e5a22509b96bf49b6f68859402a Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 24 Dec 2020 09:41:56 +0800 Subject: [PATCH 2/4] kmod-tcp-bbr: leave CONFIG_TCP_CONG_ADVANCED to target config Since generic has the option set to y and other targets now inherit that choice, there is no behaviour change Signed-off-by: Yousong Zhou --- package/kernel/linux/modules/netsupport.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 0c68b394d1..958b510015 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -926,9 +926,7 @@ $(eval $(call KernelPackage,sched)) define KernelPackage/tcp-bbr SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=BBR TCP congestion control - KCONFIG:= \ - CONFIG_TCP_CONG_ADVANCED=y \ - CONFIG_TCP_CONG_BBR + KCONFIG:=CONFIG_TCP_CONG_BBR FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko AUTOLOAD:=$(call AutoLoad,74,tcp_bbr) endef From d45b50389deccbeaf262af0a115a4b0a25255ecc Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 24 Dec 2020 11:28:20 +0800 Subject: [PATCH 3/4] kmod-tcp-bbr: use AutoProbe Signed-off-by: Yousong Zhou --- package/kernel/linux/modules/netsupport.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 958b510015..d287e46270 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -928,7 +928,7 @@ define KernelPackage/tcp-bbr TITLE:=BBR TCP congestion control KCONFIG:=CONFIG_TCP_CONG_BBR FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko - AUTOLOAD:=$(call AutoLoad,74,tcp_bbr) + AUTOLOAD:=$(call AutoProbe,tcp_bbr) endef define KernelPackage/tcp-bbr/description From 1508841b4e8e5b3ac10e61ea0eef61bba4a62abc Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Wed, 23 Dec 2020 14:36:45 +0800 Subject: [PATCH 4/4] kmod-tcp-hybla: new module for hybla congestion control algorithm Just the module and no default sysctl conf file is provided Link: https://forum.openwrt.org/t/20-xx-tcp-hybla/83076 Signed-off-by: Yousong Zhou --- package/kernel/linux/modules/netsupport.mk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index d287e46270..4e78ac5478 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -947,6 +947,24 @@ endef $(eval $(call KernelPackage,tcp-bbr)) +define KernelPackage/tcp-hybla + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=TCP-Hybla congestion control algorithm + KCONFIG:=CONFIG_TCP_CONG_HYBLA + FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko + AUTOLOAD:=$(call AutoProbe,tcp_hybla) +endef + +define KernelPackage/tcp-hybla/description + TCP-Hybla is a sender-side only change that eliminates penalization of + long-RTT, large-bandwidth connections, like when satellite legs are + involved, especially when sharing a common bottleneck with normal + terrestrial connections. +endef + +$(eval $(call KernelPackage,tcp-hybla)) + + define KernelPackage/ax25 SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=AX25 support