extern int lnet_cpt_of_nid_locked(struct lnet_nid *nid, struct lnet_ni *ni);
extern int lnet_cpt_of_nid(lnet_nid_t nid, struct lnet_ni *ni);
extern int lnet_nid2cpt(struct lnet_nid *nid, struct lnet_ni *ni);
-extern struct lnet_ni *lnet_nid2ni_locked(lnet_nid_t nid, int cpt);
extern struct lnet_ni *lnet_nid_to_ni_locked(struct lnet_nid *nid, int cpt);
-extern struct lnet_ni *lnet_nid2ni_addref(lnet_nid_t nid);
extern struct lnet_ni *lnet_net2ni_locked(__u32 net, int cpt);
extern struct lnet_ni *lnet_net2ni_addref(__u32 net);
extern struct lnet_ni *lnet_nid_to_ni_addref(struct lnet_nid *nid);
struct kib_conn *conn;
struct lnet_ni *ni = NULL;
struct kib_net *net = NULL;
+ struct lnet_nid destnid;
lnet_nid_t nid;
struct rdma_conn_param cp;
struct kib_rej rej;
}
nid = reqmsg->ibm_srcnid;
- ni = lnet_nid2ni_addref(reqmsg->ibm_dstnid);
+ lnet_nid4_to_nid(reqmsg->ibm_dstnid, &destnid);
+ ni = lnet_nid_to_ni_addref(&destnid);
if (ni != NULL) {
net = (struct kib_net *)ni->ni_data;
}
if (ni == NULL || /* no matching net */
- lnet_nid_to_nid4(&ni->ni_nid) !=
- reqmsg->ibm_dstnid || /* right NET, wrong NID! */
+ !nid_same(&ni->ni_nid, &destnid) || /* right NET, wrong NID! */
net->ibn_dev != ibdev) { /* wrong device */
- CERROR("Can't accept conn from %s on %s (%s:%d:%pI4h): bad dst nid %s\n", libcfs_nid2str(nid),
+ CERROR("Can't accept conn from %s on %s (%s:%d:%pI4h): bad dst nid %s\n",
+ libcfs_nid2str(nid),
ni ? libcfs_nidstr(&ni->ni_nid) : "NA",
ibdev->ibd_ifname, ibdev->ibd_nnets,
&ibdev->ibd_ifip,
return NULL;
}
-struct lnet_ni *
-lnet_nid2ni_locked(lnet_nid_t nid4, int cpt)
-{
- struct lnet_nid nid;
-
- lnet_nid4_to_nid(nid4, &nid);
- return lnet_nid_to_ni_locked(&nid, cpt);
-}
-
-struct lnet_ni *
-lnet_nid2ni_addref(lnet_nid_t nid4)
-{
- struct lnet_ni *ni;
- struct lnet_nid nid;
-
- lnet_nid4_to_nid(nid4, &nid);
-
- lnet_net_lock(0);
- ni = lnet_nid_to_ni_locked(&nid, 0);
- if (ni)
- lnet_ni_addref_locked(ni, 0);
- lnet_net_unlock(0);
-
- return ni;
-}
-EXPORT_SYMBOL(lnet_nid2ni_addref);
-
struct lnet_ni *
lnet_nid_to_ni_addref(struct lnet_nid *nid)
{
{
int cpt, rc = 0;
struct lnet_ni *ni;
- lnet_nid_t nid = stats->hlni_nid;
+ struct lnet_nid nid;
+ lnet_nid4_to_nid(stats->hlni_nid, &nid);
cpt = lnet_net_lock_current();
- ni = lnet_nid2ni_locked(nid, cpt);
-
+ ni = lnet_nid_to_ni_locked(&nid, cpt);
if (!ni) {
rc = -ENOENT;
goto unlock;