1. 22 Sep, 2021 6 commits
  2. 21 Sep, 2021 9 commits
  3. 20 Sep, 2021 15 commits
  4. 19 Sep, 2021 8 commits
  5. 18 Sep, 2021 2 commits
    • David S. Miller's avatar
      Merge branch 'mptcp-next' · 983e59a2
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      983e59a2
    • Florian Westphal's avatar
      selftests: mptcp: add mptcp getsockopt test cases · ce997912
      Florian Westphal authored
      Add a test program that retrieves the three info types:
      1. mptcp meta information
      2. tcp info for subflow
      3. subflow endpoint addresses
      
      For all three rudimentary checks are added.
      
      1. Meta information checks that the logical mptcp
         sequence numbers advance as expected, based on the bytes read
         (init seq + bytes_received/sent) and the connection state
         (after close, we should exect 1 extra byte due to FIN).
      
      2. TCP info checks the number of bytes sent/received vs.
         sums of read/write syscall return values.
      
      3. Subflow endpoint addresses are checked vs. getsockname/getpeername
         result.
      
      Tests for forward compatibility (0-initialisation of output-only
      fields in mptcp_subflow_data structure) are added as well.
      Co-developed-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ce997912