kernel: enable Multi-Path TCP for !SMALL_FLASH targets#16786
kernel: enable Multi-Path TCP for !SMALL_FLASH targets#16786openwrt-bot merged 2 commits intoopenwrt:mainfrom
Conversation
|
@arinc9 Let me know if any additional patches are needed on top of that for MPTCP. |
|
Why enable it by default? |
|
The idea behind enabling it by default is to allow users of the binary distribution to make use of MPTCP tunneling for link aggregation. There is apparently huge demand for that, it's a often discussed topic in the forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that (which supports only very few devices). Enabling the kernel-side of the story by default will allow using MPTCP on vanilla OpenWrt without having to build anything from source. |
|
Makes sense, thanks. Please put that into the commit description, so that other people can figure out the reason as well. |
1fbfa59 to
3355d80
Compare
|
|
||
| config KERNEL_MPTCP_IPV6 | ||
| bool "IPv6 support for Multipath TCP" | ||
| depends on KERNEL_MPTCP |
There was a problem hiding this comment.
Please make this option depend on KERNEL_IPV6 or move it to the block inside the if KERNEL_IPV6 block.
3355d80 to
7755f58
Compare
|
@dangowrt: Nice PR, thanks! |
|
what about bpf schedulers from mptcp next? openmptcprouter https://github.com/Ysurac/openmptcprouter/blob/develop/common/include/bpf_mptcp.mk mptcp-bpf-* from openmptcprouter-feeds mptcp_net-next |
|
Thank you for looking at that!
If these BPF schedulers have not been upstreamed, that's because they are not ready yet. I would personally not recommend using them in production. |
Expose Kernel's CONFIG_MPTCP option and enable it by default for !SMALL_FLASH targets. The idea behind enabling it by default is to allow users of the binary distribution to make use of MPTCP tunneling for link aggregation. Using MPTCP for link aggregation is an often discussed topic in the forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that. Enabling the kernel-side of the story by default will allow using MPTCP on vanilla OpenWrt without having to build anything from source. See also https://openwrt.org/docs/guide-user/network/mptcp Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add INET diag socket monitoring interface module for MultiPath TCP. It allows using native Linux socket diagnostic tools such as 'ss' for Multipath TCP connections. Co-authored-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com> Signed-off-by: sKy King <29267720+sKyissKy@users.noreply.github.com> Link: openwrt#12884 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
7755f58 to
a2aabc9
Compare
I'm open to include those in a future PR backporting the necessary changes from net-next once they are available there. |
OpenWRT's future version (v24?) will support MPTCP by default on non "small flash" targets. No need for custom builds or forks! Thanks to @dangowrt, @rodsmar, and @sKyissKy for the work, and @hauke for the review! Link: openwrt/openwrt#16786 Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
|
@dangowrt: Good job! |
|
Hi @dangowrt - you linked to the wiki page in your commit description, which talks about options which I cannot find referenced anywhere. It's my understanding that procd and netifd don't yet know anything about e.g. Are those for something older in another project? |
Indeed, it looks like it is linked to another project (Open MPTCP Router?). I guess everything from the Configuration section should be removed, no? Also, don't hesitate to reference mptcp.dev instead of multipath.org (previous project, for kernels < 5.6). |
|
Regarding the mptcp wiki page, I don't think it is clear what needs to be done for the configuration. Is the idea to install In the meantime, I guess a script in |
|
@matttbe: Maybe you can connect on Wiki to update? |
|
@Neustradamus I could ask the admins to create an account for me to change the website, but for the rest, I don't know how MPTCP is supposed to be configured on OpenWrt. All I can see is the wiki page history: only the introduction ("Start" and "Multipath TCP") has been modified recently. The rest is confusing: it looks outdated and no longer valid. I could remove it, but I don't know what to replace it with: what's the recommended way to setup MPTCP on OpenWrt if this cannot be done via On mptcp.dev, I recommend using NM and mptcpd, but not sure if that's a good idea on OpenWrt: I guess NM is not doing to be used here, and mptcpd is currently not integrated with (l)uci. Also, for the manual configuration, |
|
I had a poke around and found the same thing. Some info there is only relevant to the fork and is quite confusing. |
Expose Kernel's CONFIG_MPTCP option and enable it by default for !SMALL_FLASH targets.