]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rds: tcp: send handshake ping-probe from passive endpoint
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Fri, 16 Jun 2017 12:31:11 +0000 (05:31 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 26 Jul 2017 03:53:15 +0000 (20:53 -0700)
commita7d089bde7ec436e5ed650d5c127e384c734a0de
treeed9af89e0f86c6d0468e2d7d9b15670d311fe7c0
parent29e5ddcad723cc594e87e843e0cd2debc6cd4be1
rds: tcp: send handshake ping-probe from passive endpoint

The RDS handshake ping probe added by commit 5916e2c1554f
("RDS: TCP: Enable multipath RDS for TCP") is sent from rds_sendmsg()
before the first data packet is sent to a peer. If the conversation
is not bidirectional  (i.e., one side is always passive and never
invokes rds_sendmsg()) and the passive side restarts its rds_tcp
module, a new HS ping probe needs to be sent, so that the number
of paths can be re-established.

This patch achieves that by sending a HS ping probe from
rds_tcp_accept_one() when c_npaths is 0 (i.e., we have not done
a handshake probe with this peer yet).

Orabug: 26477841

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
net/rds/rds.h
net/rds/recv.c
net/rds/send.c
net/rds/tcp_listen.c