On 5/28/26 8:40 AM, Geliang Tang wrote:
From: Geliang Tang<[email protected]>

An MPTCP-specific version of struct nvme_tcp_proto is implemented,
and it is assigned to ctrl->proto when the transport string is "mptcp".

The socket option setting logic is similar to the target side, except that
mptcp_sock_set_syncnt is newly defined for the host side.

These helpers set the values on all existing subflows of an MPTCP
connection, except for set_reuseaddr which only applies to the first
subflow. The values are then synchronized to other newly created
subflows in sync_socket_options().

A separate nvme_mptcp_ctrl_ops structure with .name = "mptcp" is defined
and used for MPTCP controllers.

"mptcp" is planned to be introduced as a new NVMe transport type into the
NVMe Base Specification in the future.

Currently, the Discovery Log does not yet recognize trtype=4 (MPTCP), and
will show "trtype: unrecognized" for such entries:

  =====Discovery Log Entry 0======
  trtype:  unrecognized
  adrfam:  ipv4
  subtype: current discovery subsystem
  treq:    not specified, sq flow control disable supported
  portid:  23106
  trsvcid: 23601
  subnqn:  nqn.2014-08.org.nvmexpress.discovery
  traddr:  10.1.1.1
  eflags:  none

Cc: Hannes Reinecke<[email protected]>
Cc: John Meneghini<[email protected]>
Cc: Randy Jennings<[email protected]>
Cc: Nilay Shroff<[email protected]>
Co-developed-by: zhenwei pi<[email protected]>
Signed-off-by: zhenwei pi<[email protected]>
Co-developed-by: Hui Zhu<[email protected]>
Signed-off-by: Hui Zhu<[email protected]>
Co-developed-by: Gang Yan<[email protected]>
Signed-off-by: Gang Yan<[email protected]>
Signed-off-by: Geliang Tang<[email protected]>
---
  drivers/nvme/host/tcp.c | 34 ++++++++++++++++++++++++++++++++++
  include/net/mptcp.h     | 11 +++++++++++
  net/mptcp/sockopt.c     | 30 +++++++++++++++++++++++++++++-
  3 files changed, 74 insertions(+), 1 deletion(-)

Agian the same comment as earlier to split this into two patches.
BTW, it seems another approach would be to club all mptcp helpers
in one patch (may be the first patch in the series) as prep and then
use those helpers in the subsequent patches.

Thanks,
--Nilay





Reply via email to