Skip to content

RDS: TCP: HA/Failover fixes

Sowmini Varadhan netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3RDS: TCP: set RDS_FLAG_RETRANSMITTED in cp_retrans listnet/rds/tcp_send.c+3 -00 replies
2/3RDS: TCP: Track peer's connection generation numbernet/rds/af_rds.c net/rds/connection.c net/rds/message.c +3 more+57 -30 replies
3/3RDS: TCP: Force every connection to be initiated by numerically smaller IP addressnet/rds/connection.c net/rds/tcp_connect.c net/rds/tcp_listen.c+26 -180 replies

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchSantosh Shilimkar
1/3A-b
2/3A-b
3/3A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH net-next 0/3] RDS: TCP: HA/Failover fixes

This series contains a set of fixes for bugs exposed when we ran the following in a loop between a test machine pair:

while (1); do

   # modprobe rds-tcp on test nodes
   # run rds-stress in bi-dir mode between test machine pair 
   # modprobe -r rds-tcp on test nodes
 done

rds-stress in bi-dir mode will cause both nodes to initiate RDS-TCP connections at almost the same instant, exposing the bugs fixed in this series.

Without the fixes, rds-stress reports sporadic packet drops, and packets arriving out of sequence. After the fixes,we have been able to run the test overnight, without any issues.

Each patch has a detailed description of the root-cause fixed by the patch.

Sowmini Varadhan (3):
RDS: TCP: set RDS_FLAG_RETRANSMITTED in cp_retrans list
RDS: TCP: Track peer's connection generation number
RDS: TCP: Force every connection to be initiated by numerically
smaller IP address

 net/rds/af_rds.c      |    4 ++++
 net/rds/connection.c  |    3 +++
 net/rds/message.c     |    1 +
 net/rds/rds.h         |    8 +++++++-
 net/rds/recv.c        |   36 ++++++++++++++++++++++++++++++++++++
 net/rds/send.c        |    9 +++++++--
 net/rds/tcp_connect.c |   14 +++++++++++++-
 net/rds/tcp_listen.c  |   29 ++++++++++++-----------------
 net/rds/tcp_send.c    |    3 +++
 9 files changed, 86 insertions(+), 21 deletions(-)