Whamcloud - gitweb
LU-12222 lnet: Primary NID of lolnd NID is the lolnd NID 64/38864/2
authorChris Horn <hornc@cray.com>
Wed, 22 Apr 2020 16:42:27 +0000 (11:42 -0500)
committerOleg Drokin <green@whamcloud.com>
Fri, 7 Aug 2020 21:13:34 +0000 (21:13 +0000)
We want Lustre traffic that is intended for the local peer to be sent
and received over the lolnd. The function ptlrpc_uuid_to_peer() will
currently resolve a NID to the lolnd NID, but ptlrpc_connection_get()
will overwrite this selection with the result from LNetPrimaryNID().

Have LNetPrimaryNID return the lolnd NID when it is passed the lolnd
NID.

Lustre-change: https://review.whamcloud.com/38313
Lustre-commit: 33d2e44e5026f1e9162dd5e6b931085fdc035a34

HPE-bug-id: LUS-8457
Signed-off-by: Chris Horn <hornc@cray.com>
Change-Id: I02708bb45f8440091782ca7886bac7656efb0223
Reviewed-on: https://review.whamcloud.com/38864
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lnet/lnet/peer.c

index 0db3499..2c1b37c 100644 (file)
@@ -1115,6 +1115,9 @@ LNetPrimaryNID(lnet_nid_t nid)
        int rc = 0;
        int cpt;
 
+       if (nid == LNET_NID_LO_0)
+               return LNET_NID_LO_0;
+
        cpt = lnet_net_lock_current();
        lpni = lnet_nid2peerni_locked(nid, LNET_NID_ANY, cpt);
        if (IS_ERR(lpni)) {