[PATCH] kernel: add module for tcp-hybla congestion control algorithm
Henrique de Moraes Holschuh
henrique at nic.br
Wed Dec 23 08:56:42 EST 2020
On 23/12/2020 09:08, Hauke Mehrtens wrote:
> On 12/23/20 8:36 AM, Yousong Zhou wrote:
>> Just the module and no default sysctl conf file is provided
>>
>> Ref: https://forum.openwrt.org/t/20-xx-tcp-hybla/83076
>> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
>> ---
>> package/kernel/linux/modules/netsupport.mk | 20 ++++++++++++++++++++
>> 1 file changed, 20 insertions(+)
>>
>> diff --git a/package/kernel/linux/modules/netsupport.mk
>> b/package/kernel/linux/modules/netsupport.mk
>> index 0c68b394d1..156892c952 100644
>> --- a/package/kernel/linux/modules/netsupport.mk
>> +++ b/package/kernel/linux/modules/netsupport.mk
>> @@ -949,6 +949,26 @@ endef
>> $(eval $(call KernelPackage,tcp-bbr))
>> +define KernelPackage/tcp-hybla
>> + SUBMENU:=$(NETWORK_SUPPORT_MENU)
>> + TITLE:=TCP-Hybla congestion control algorithm
>> + KCONFIG:= \
>> + CONFIG_TCP_CONG_ADVANCED=y \
>
> This is already set in the generic configuration for most targets:
> -----------------
> :~/openwrt/openwrt/target/linux$ git grep TCP_CONG_ADVANCED
> generic/config-5.4:CONFIG_TCP_CONG_ADVANCED=y
> layerscape/armv7/config-5.4:# CONFIG_TCP_CONG_ADVANCED is not set
> layerscape/armv8_64b/config-5.4:# CONFIG_TCP_CONG_ADVANCED is not set
> zynq/config-5.4:# CONFIG_TCP_CONG_ADVANCED is not set
> ---------------
>
> I would prefer if we set if for all targets, then it is not needed here
> any more.
Is the size cost worth it? What would it be?
It is not like Hybla in OpenWRT is going to be helpful at all for most
uses for most users: it can only affect openwrt **when it is the TCP
endpoint**, on non-tcp-proxied-by-the-CPE high-rtt links, and only when
openwrt is *serving* the high-volume content.
I've read the linked page and it doesn't make sense *outside of the
content servers* of that satellite ISP. It can only affect anything if
you are the TCP ENDPOINT serving contents, middle-boxes have no say in
it unless they're L4/L7 *active* proxies -- i.e., they'd need to become
the relevant TCP endpoint.
To me, Hybla seems like something you'd want behind a KConfig option
(default N) for specialized uses, only. Not something to be enabled by
default on all targets.
NOTE: Hybla on *servers* is a different deal, but since you cannot
select it by TCP negotiation, it is still only ever going to be useful
on the satellite access provider *content proxies and servers*, since
nobody is going to enable it on general-purpose servers that cather for
both high and low RTT clients.
--
Henrique de Moraes Holschuh
Analista de Projetos
Centro de Estudos e Pesquisas em Tecnologias de Redes e Operações
(Ceptro.br)
+55 11 5509-3537 R.:4023
INOC 22548*625
www.nic.br
More information about the openwrt-devel
mailing list