From abf0e13bf261ec949ed32368296388df73c6ca72 Mon Sep 17 00:00:00 2001 From: Alexander Boyko Date: Sun, 19 Jun 2016 15:56:51 +0300 Subject: [PATCH] LU-8303 lnet: make connection more stable with packet loss IB network may lose last connection handshake packet. This problem isn't Lustre specific and described at https://oss.oracle.com/pipermail/rds-devel/2007-December/000271.html as example. Solution is to make conection established if any packet is received for it. Signed-off-by: Alexander Boyko Signed-off-by: Alexey Lyashkov Seagate-bug-id: MRP-2883 Change-Id: I9bf69fdca24e51a5de06c92e9ad76b4e040c5d65 Reviewed-on: http://review.whamcloud.com/20874 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Doug Oucharek Reviewed-by: Alexander Zarochentsev Reviewed-by: Oleg Drokin --- lnet/klnds/o2iblnd/o2iblnd_cb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c index b13fcf9..b211f95 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -3406,6 +3406,10 @@ kiblnd_qp_event(struct ib_event *event, void *arg) case IB_EVENT_COMM_EST: CDEBUG(D_NET, "%s established\n", libcfs_nid2str(conn->ibc_peer->ibp_nid)); + /* We received a packet but connection isn't established + * probably handshake packet was lost, so free to + * force make connection established */ + rdma_notify(conn->ibc_cmid, IB_EVENT_COMM_EST); return; default: -- 1.8.3.1