Skip to content

RDS-TCP: Network namespace support

Sowmini Varadhan lkml netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest2 patches 1 replyIn review
  2. v22 patches 1 replySuperseded
  3. v1 RFC3 patches 5 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2RDS-TCP: Make RDS-TCP work correctly when it is set up in a netns other than init_netnet/rds/bind.c net/rds/connection.c net/rds/ib.c +9 more+59 -270 replies
2/2RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns.net/rds/tcp.c net/rds/tcp.h net/rds/tcp_connect.c +1 more+162 -500 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 net-next 0/2] RDS-TCP: Network namespace support

This patch series contains the set of changes to correctly set up the infra for PF_RDS sockets that use TCP as the transport in multiple network namespaces.

Patch 1 in the series is the minimal set of changes to allow a single instance of RDS-TCP to run in any (i.e init_net or other) net namespace. The changes in this patch set ensure that the execution of 'modprobe [-r] rds_tcp' sets up the kernel TCP sockets relative to the current netns, so that RDS applications can send/recv packets from that netns, and the netns can later be deleted cleanly.

Patch 2 of the series further allows multiple RDS-TCP instances, one per network namespace. The changes in this patch allows dynamic creation/tear-down of RDS-TCP client and server sockets across all current and future namespaces.

v2 changes from RFC sent out earlier:
David Ahern comments in patch 1, net_device notifier in patch 2, patch 3 broken off and submitted separately.
v3: Cong Wang review comments.

Sowmini Varadhan (2):
Make RDS-TCP work correctly when it is set up in a netns other than
init_net
Support multiple RDS-TCP listen endpoints, one per netns.

 net/rds/bind.c        |    3 +-
 net/rds/connection.c  |   16 +++--
 net/rds/ib.c          |    2 +-
 net/rds/ib_cm.c       |    5 +-
 net/rds/iw.c          |    2 +-
 net/rds/iw_cm.c       |    5 +-
 net/rds/rds.h         |   23 ++++++-
 net/rds/send.c        |    3 +-
 net/rds/tcp.c         |  165 +++++++++++++++++++++++++++++++++++++++++++-----
 net/rds/tcp.h         |    7 ++-
 net/rds/tcp_connect.c |    9 ++-
 net/rds/tcp_listen.c  |   40 ++++--------
 net/rds/transport.c   |    4 +-
 13 files changed, 214 insertions(+), 70 deletions(-)