mbox series

[v5,mptcp-next,00/21] mptcp: data checksum support

Message ID cover.1620162984.git.pabeni@redhat.com
Headers show
Series mptcp: data checksum support | expand

Message

Paolo Abeni May 4, 2021, 9:29 p.m. UTC
Changed from v4:
 - cope with odd-aligned csum blocks
 - avoid re-adding multiple times the same skb bits on tx
 - fix pseudo header generation (must be in NBO)

Changes from v3:
 - included Geliang's feedback
 - hopefully fixed wrong csum computation in the rx path
   for DSS+data_fin 

Changes from v2:
 - implement RFC behavior WRT csum failure and csum mismatch
 - cope with zero win probe and re-injection
 - fix csum computation for DSS with data_fin flag set

Only some Squash-to patches has been changes WRT the previous
iteration.

There is still at least a ough edge:
- the csum computation in the tx path is very suboptimal.

Anyhow, I propose to address the above with additional squash-to patches
to avoid complex/extra long review cycles.

Geliang Tang (13):
  mptcp: generate the data checksum
  mptcp: add csum_reqd in mptcp_out_options
  mptcp: send out checksum for MP_CAPABLE with data
  mptcp: send out checksum for DSS
  mptcp: add sk parameter for mptcp_parse_option
  mptcp: add csum_reqd in mptcp_options_received
  mptcp: receive checksum for MP_CAPABLE with data
  mptcp: receive checksum for DSS
  mptcp: validate the data checksum
  mptcp: add the mib for data checksum
  mptcp: add a new sysctl checksum_enabled
  selftests: mptcp: enable checksum in mptcp_connect.sh
  selftests: mptcp: enable checksum in mptcp_join.sh

Paolo Abeni (8):
  Squash-to: "mptcp: generate the data checksum"
  Squash-to: "mptcp: send out checksum for MP_CAPABLE with data"
  Squash-to "mptcp: send out checksum for DSS"
  Squash-to: "mptcp: receive checksum for MP_CAPABLE with data"
  Squash-to: "mptcp: receive checksum for DSS"
  Squash-to: mptcp: validate the data checksum
  mptcp: cleanup error path in subflow_check_data_avail()
  mptcp: tune re-injections for csum enabled mode.

 Documentation/networking/mptcp-sysctl.rst     |   8 +
 include/net/mptcp.h                           |   7 +-
 net/mptcp/ctrl.c                              |  14 ++
 net/mptcp/mib.c                               |   1 +
 net/mptcp/mib.h                               |   1 +
 net/mptcp/options.c                           | 165 +++++++++++++-----
 net/mptcp/protocol.c                          |  28 ++-
 net/mptcp/protocol.h                          |  23 ++-
 net/mptcp/subflow.c                           | 146 +++++++++++++---
 .../selftests/net/mptcp/mptcp_connect.sh      |  13 +-
 .../testing/selftests/net/mptcp/mptcp_join.sh | 107 +++++++++++-
 11 files changed, 436 insertions(+), 77 deletions(-)

Comments

Paolo Abeni May 4, 2021, 9:41 p.m. UTC | #1
On Tue, May 4, 2021 at 11:39 PM Paolo Abeni <pabeni@redhat.com> wrote:
>
> Changed from v4:
>  - cope with odd-aligned csum blocks
>  - avoid re-adding multiple times the same skb bits on tx
>  - fix pseudo header generation (must be in NBO)

I'm ultra dumb && low on coffee. I unintentionally omitted the first
patch. Will send another iteration in moments. I already archived this
one. Sorry for the (lot of) noise.

/P