Whamcloud - gitweb
LU-9094 o2iblnd: reconnect peer for REJ_INVALID_SERVICE_ID
[fs/lustre-release.git] / lnet / klnds / o2iblnd / o2iblnd_cb.c
index da2c084..77a5a28 100644 (file)
@@ -2621,6 +2621,10 @@ kiblnd_check_reconnect(kib_conn_t *conn, int version,
         case IBLND_REJECT_CONN_UNCOMPAT:
                 reason = "version negotiation";
                 break;
+
+       case IBLND_REJECT_INVALID_SRV_ID:
+               reason = "invalid service id";
+               break;
         }
 
        conn->ibc_reconnect = 1;
@@ -2658,6 +2662,8 @@ kiblnd_rejected (kib_conn_t *conn, int reason, void *priv, int priv_nob)
                break;
 
         case IB_CM_REJ_INVALID_SERVICE_ID:
+               kiblnd_check_reconnect(conn, IBLND_MSG_VERSION, 0,
+                                      IBLND_REJECT_INVALID_SRV_ID, NULL);
                 CNETERR("%s rejected: no listener at %d\n",
                         libcfs_nid2str(peer_ni->ibp_nid),
                         *kiblnd_tunables.kib_service);