[PATCH mptcp-next v3 0/2] mptcp: add freebind & transparent sockopt

Florian Westphal posted 2 patches 1 month, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/20211029110927.12315-1-fw@strlen.de
Maintainers: Mat Martineau <mathew.j.martineau@linux.intel.com>, Matthieu Baerts <matthieu.baerts@tessares.net>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Shuah Khan <shuah@kernel.org>
net/mptcp/sockopt.c                           | 66 ++++++++++++++-
net/mptcp/subflow.c                           |  3 +-
.../selftests/net/mptcp/config                |  7 ++-
.../selftests/net/mptcp/mptcp_connect.c       | 51 +++++++++++-
.../selftests/net/mptcp/mptcp_connect.sh      | 80 +++++++++++++++++++
5 files changed, 202 insertions(+), 5 deletions(-)

[PATCH mptcp-next v3 0/2] mptcp: add freebind & transparent sockopt

Posted by Florian Westphal 1 month, 1 week ago
First patch adds ipv4/ipv6 TRANSPARENT and FREEBIND, second
patch adds a selftest to mptcp_connect.sh.

Only change is in patch 2 which has more verbose SKIP messages
and an updated mptcp/config to account for IPV6_MULTIPLE_TABLES
and other toggles required for the tproxy test case.

Florian Westphal (2):
  mptcp: sockopt: add SOL_IP freebind & transparent options
  selftests: mptcp: add tproxy test case

 net/mptcp/sockopt.c                           | 66 ++++++++++++++-
 net/mptcp/subflow.c                           |  3 +-
 .../selftests/net/mptcp/config                |  7 ++-
 .../selftests/net/mptcp/mptcp_connect.c       | 51 +++++++++++-
 .../selftests/net/mptcp/mptcp_connect.sh      | 80 +++++++++++++++++++
 5 files changed, 202 insertions(+), 5 deletions(-)
-- 
2.32.0


Re: [PATCH mptcp-next v3 0/2] mptcp: add freebind & transparent sockopt

Posted by Matthieu Baerts 1 month ago
Hi Florian, Mat,

On 29/10/2021 13:09, Florian Westphal wrote:
> First patch adds ipv4/ipv6 TRANSPARENT and FREEBIND, second
> patch adds a selftest to mptcp_connect.sh.
> 
> Only change is in patch 2 which has more verbose SKIP messages
> and an updated mptcp/config to account for IPV6_MULTIPLE_TABLES
> and other toggles required for the tproxy test case.

Thank you for these patches and reviews!

Applied in our tree (features for net-next) with Mat's RvB tags:

- 509d313fffc4: mptcp: sockopt: add SOL_IP freebind & transparent options
- fe37d7b3122b: selftests: mptcp: add tproxy test case
- Results: d271a2e8d559..4538021f6a78

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20211102T094419
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

Re: [PATCH mptcp-next v3 0/2] mptcp: add freebind & transparent sockopt

Posted by Mat Martineau 1 month, 1 week ago
On Fri, 29 Oct 2021, Florian Westphal wrote:

> First patch adds ipv4/ipv6 TRANSPARENT and FREEBIND, second
> patch adds a selftest to mptcp_connect.sh.
>
> Only change is in patch 2 which has more verbose SKIP messages
> and an updated mptcp/config to account for IPV6_MULTIPLE_TABLES
> and other toggles required for the tproxy test case.
>
> Florian Westphal (2):
>  mptcp: sockopt: add SOL_IP freebind & transparent options
>  selftests: mptcp: add tproxy test case
>
> net/mptcp/sockopt.c                           | 66 ++++++++++++++-
> net/mptcp/subflow.c                           |  3 +-
> .../selftests/net/mptcp/config                |  7 ++-
> .../selftests/net/mptcp/mptcp_connect.c       | 51 +++++++++++-
> .../selftests/net/mptcp/mptcp_connect.sh      | 80 +++++++++++++++++++
> 5 files changed, 202 insertions(+), 5 deletions(-)
> -- 
> 2.32.0

Looks good to me, thanks for tracking down the missing config.

It seemed a little odd at first that sync_socket_options() copies the 
transparent/freebind values without considering whether the protocol (v4 
or v6) used in the setsockopt matches the subflow being synced, but the IP 
code doesn't really care for historical reasons. Looks like ipv6 used to 
just use the SOL_IP options for these anyway, until someone noticed it 
didn't work on AF_INET6 SOCK_RAW sockets.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>

--
Mat Martineau
Intel