mbox series

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

Message ID 20211029110927.12315-1-fw@strlen.de (mailing list archive)
Headers show
Series mptcp: add freebind & transparent sockopt | expand

Message

Florian Westphal Oct. 29, 2021, 11:09 a.m. UTC
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(-)

Comments

Mat Martineau Oct. 29, 2021, 8:15 p.m. UTC | #1
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
Matthieu Baerts Nov. 2, 2021, 9:44 a.m. UTC | #2
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