From: Alexander Boyko Date: Sun, 19 Jun 2016 12:56:51 +0000 (+0300) Subject: LU-8303 lnet: make connection more stable with packet loss X-Git-Tag: 2.8.56~103 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=abf0e13bf261ec949ed32368296388df73c6ca72 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 --- 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: