mbox series

[v3,mptcp-next,0/7] add cmsg support to receive path

Message ID 20210514094857.10663-1-fw@strlen.de
Headers show
Series add cmsg support to receive path | expand

Message

Florian Westphal May 14, 2021, 9:48 a.m. UTC
Changes since v3:
 - drop patch 1 (busypoll support), SO_BUSYPOLL will have no effect.
 effect.
 - adjust patch 5 accordingly.

Changes since v2:
 - fix indendation of a if line in patch 1 (Mat)
 - avoid useless conditional in patch 5 (Mat)

This adds setsockopt support for busypoll + and the various
SO_TIMESTAMP variants.

To reduce copy&paste, a few helper functions get exported for
mptcp sake.

Last patch extends the existing setsockopt test case to also
cover/enable SO_TIMESTAMP.

Florian Westphal (7):
  sock: expose so_timestamp options for mptcp
  sock: expose so_timestamping options for mptcp
  mptcp: sockopt: propagate timestamp request to subflows
  mptcp: setsockopt: handle SOL_SOCKET in one place only
  tcp: export timestamp helpers for mptcp
  mptcp: receive path cmsg support
  selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support

 include/net/sock.h                            |   3 +
 include/net/tcp.h                             |   4 +
 net/core/sock.c                               |  97 +++++++-----
 net/ipv4/tcp.c                                |  10 +-
 net/mptcp/protocol.c                          |  28 +++-
 net/mptcp/sockopt.c                           | 149 ++++++++++--------
 .../selftests/net/mptcp/mptcp_connect.c       | 125 ++++++++++++++-
 .../selftests/net/mptcp/mptcp_sockopt.sh      |   4 +-
 8 files changed, 296 insertions(+), 124 deletions(-)

Comments

Paolo Abeni May 14, 2021, 10:43 a.m. UTC | #1
On Fri, 2021-05-14 at 11:48 +0200, Florian Westphal wrote:
> Changes since v3:
>  - drop patch 1 (busypoll support), SO_BUSYPOLL will have no effect.
>  effect.
>  - adjust patch 5 accordingly.
> 
> Changes since v2:
>  - fix indendation of a if line in patch 1 (Mat)
>  - avoid useless conditional in patch 5 (Mat)
> 
> This adds setsockopt support for busypoll + and the various
> SO_TIMESTAMP variants.
> 
> To reduce copy&paste, a few helper functions get exported for
> mptcp sake.
> 
> Last patch extends the existing setsockopt test case to also
> cover/enable SO_TIMESTAMP.
> 
> Florian Westphal (7):
>   sock: expose so_timestamp options for mptcp
>   sock: expose so_timestamping options for mptcp
>   mptcp: sockopt: propagate timestamp request to subflows
>   mptcp: setsockopt: handle SOL_SOCKET in one place only
>   tcp: export timestamp helpers for mptcp
>   mptcp: receive path cmsg support
>   selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support
> 
>  include/net/sock.h                            |   3 +
>  include/net/tcp.h                             |   4 +
>  net/core/sock.c                               |  97 +++++++-----
>  net/ipv4/tcp.c                                |  10 +-
>  net/mptcp/protocol.c                          |  28 +++-
>  net/mptcp/sockopt.c                           | 149 ++++++++++--------
>  .../selftests/net/mptcp/mptcp_connect.c       | 125 ++++++++++++++-
>  .../selftests/net/mptcp/mptcp_sockopt.sh      |   4 +-
>  8 files changed, 296 insertions(+), 124 deletions(-)
> 

LGTM!

Acked-by: Paolo Abeni <pabeni@redhat.com>
Matthieu Baerts May 15, 2021, 10:54 a.m. UTC | #2
Hi Florian, Mat, Paolo,

On 14/05/2021 11:48, Florian Westphal wrote:
> Changes since v3:
>  - drop patch 1 (busypoll support), SO_BUSYPOLL will have no effect.
>  effect.
>  - adjust patch 5 accordingly.
> 
> Changes since v2:
>  - fix indendation of a if line in patch 1 (Mat)
>  - avoid useless conditional in patch 5 (Mat)
> 
> This adds setsockopt support for busypoll + and the various
> SO_TIMESTAMP variants.
> 
> To reduce copy&paste, a few helper functions get exported for
> mptcp sake.
> 
> Last patch extends the existing setsockopt test case to also
> cover/enable SO_TIMESTAMP.

Thank you for the patches and reviews:

Now in our tree:

- 480085ab2b4f: sock: expose so_timestamp options for mptcp
- 1dec92e1a886: sock: expose so_timestamping options for mptcp
- 1939fa553ab4: mptcp: sockopt: propagate timestamp request to subflows
- b31cc28dde50: mptcp: setsockopt: handle SOL_SOCKET in one place only
- e353d974b686: tcp: export timestamp helpers for mptcp
- b1555bde4528: mptcp: receive path cmsg support
- 7a134f51c2c2: selftests: mptcp_connect: add SO_TIMESTAMPNS cmsg support
- Results: 36f31371c969..36a7db06660a

Builds and tests are now in progress:

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

Cheers,
Matt