]> git.baikalelectronics.ru Git - kernel.git/commit
rds: If one path needs re-connection, check all and re-connect
authorRao Shoaib <rao.shoaib@oracle.com>
Wed, 1 Jul 2020 19:23:38 +0000 (12:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Jul 2020 00:35:17 +0000 (17:35 -0700)
commite1899c1865076424d3b51293b0ed355f6a1afd98
treee41a8039fc5a2fc3ddf8c1f00a4ef762020f1f92
parent524a5bfe7c808cc01be227a79427f292e5a6bc65
rds: If one path needs re-connection, check all and re-connect

In testing with mprds enabled, Oracle Cluster nodes after reboot were
not able to communicate with others nodes and so failed to rejoin
the cluster. Peers with lower IP address initiated connection but the
node could not respond as it choose a different path and could not
initiate a connection as it had a higher IP address.

With this patch, when a node sends out a packet and the selected path
is down, all other paths are also checked and any down paths are
re-connected.

Reviewed-by: Ka-cheong Poon <ka-cheong.poon@oracle.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Signed-off-by: Rao Shoaib <rao.shoaib@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/connection.c
net/rds/rds.h
net/rds/send.c