Merge branch 'mptcp-next'
authorDavid S. Miller <davem@davemloft.net>
Sat, 18 Sep 2021 13:20:01 +0000 (14:20 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Sep 2021 13:20:01 +0000 (14:20 +0100)
commit983e59a27b92d7e1a3432a1009522177cc1e187b
tree4252af1ca2a9aefc97ba62cea0f9d78932580f08
parent95dca2d578d2ae702b9d9e67a1facfdc918cfa27
parentce9979129a0ba700112151a83a6d4cf09c7a1158
Merge branch 'mptcp-next'

Mat Martineau says:

====================
mptcp: Add SOL_MPTCP getsockopt support

Here's the first new MPTCP feature for the v5.16 cycle, and I'll defer
to Florian's helpful description of the series implementing some new
MPTCP socket options:

========

This adds the MPTCP_INFO, MPTCP_TCPINFO and MPTCP_SUBFLOW_ADDRS
mptcp getsockopt optnames.

MPTCP_INFO exposes the mptcp_info struct as an alternative to the
existing netlink diag interface.

MPTCP_TCPINFO exposes the tcp_info struct.
Unlike SOL_TCP/TCP_INFO, this returns one struct for each active
subflow.

MPTCP_SUBFLOW_ADDRS allows userspace to discover the ip addresses/ports
used by the local and remote endpoints, one for each active tcp subflow.

MPTCP_TCPINFO and MPTCP_SUBFLOW_ADDRS share the same meta-header that
needs to be pre-filled by userspace with the size of the data structures
it expects.  This is done to allow extension of the involved structs
later on, without breaking backwards compatibility.

The meta-structure can also be used to discover the required space
to obtain all information, as kernel will fill in the number of
active subflows even if there is not enough room for the requested info
itself.

More information is available in the individual patches.
Last patch adds test cases for the three optnames.

========
====================

Signed-off-by: David S. Miller <davem@davemloft.net>