static int
lnet_peer_del(struct lnet_peer *peer)
{
+ int rc;
+
lnet_peer_cancel_discovery(peer);
lnet_net_lock(LNET_LOCK_EX);
- lnet_peer_del_locked(peer);
+ rc = lnet_peer_del_locked(peer);
lnet_net_unlock(LNET_LOCK_EX);
- return 0;
+ return rc;
}
/*
}
}
/* Delete and recreate as a configured peer. */
- lnet_peer_del(lp);
+ rc = lnet_peer_del(lp);
+ if (rc)
+ goto out;
}
/* Create peer, peer_net, and peer_ni. */
struct list_head rlist;
struct lnet_route *route, *tmp;
int sensitivity = lp->lp_health_sensitivity;
+ int rc;
INIT_LIST_HEAD(&rlist);
lnet_net_unlock(LNET_LOCK_EX);
/* lnet_peer_del() deletes all the peer NIs owned by this peer */
- lnet_peer_del(lp);
+ rc = lnet_peer_del(lp);
+ if (rc)
+ CNETERR("Internal error: Unable to delete peer %s rc %d\n",
+ libcfs_nidstr(&lp->lp_primary_nid), rc);
list_for_each_entry_safe(route, tmp,
&rlist, lr_list) {
}
run_test 104 "Set/check response_tracking param"
-### load lnet in default namespace, configure in target namespace
+test_105() {
+ reinit_dlc || return $?
+ add_net "tcp" "${INTERFACES[0]}"
+ do_lnetctl route add --net tcp105 --gateway 105.105.105.105@tcp ||
+ error "route add failed $?"
+ do_lnetctl peer add --prim 105.105.105.105@tcp &&
+ error "peer add should fail"
+
+ return 0
+}
+run_test 105 "Adding duplicate GW peer should fail"
+
+test_106() {
+ reinit_dlc || return $?
+ add_net "tcp" "${INTERFACES[0]}"
+ do_lnetctl route add --net tcp106 --gateway 106.106.106.106@tcp ||
+ error "route add failed $?"
+ do_lnetctl peer del --prim 106.106.106.106@tcp &&
+ error "peer del should fail"
+
+ return 0
+}
+run_test 106 "Deleting GW peer should fail"
test_200() {
cleanup_lnet || exit 1