@@ -732,6 +732,8 @@ struct lnet_peer {
/* gw undergoing alive discovery */
#define LNET_PEER_RTR_DISCOVERY BIT(16)
+/* gw has undergone discovery (does not indicate success or failure) */
+#define LNET_PEER_RTR_DISCOVERED BIT(17)
struct lnet_peer_net {
/* chain on lp_peer_nets */
@@ -408,6 +408,7 @@ bool lnet_is_route_alive(struct lnet_route *route)
spin_lock(&lp->lp_lock);
lp->lp_state &= ~LNET_PEER_RTR_DISCOVERY;
+ lp->lp_state |= LNET_PEER_RTR_DISCOVERED;
spin_unlock(&lp->lp_lock);
/* Router discovery successful? All peer information would've been
@@ -882,7 +883,7 @@ int lnet_get_rtr_pool_cfg(int cpt, struct lnet_ioctl_pool_cfg *pool_cfg)
list_for_each_entry(rtr, &the_lnet.ln_routers, lp_rtr_list) {
spin_lock(&rtr->lp_lock);
- if (!(rtr->lp_state & LNET_PEER_DISCOVERED)) {
+ if (!(rtr->lp_state & LNET_PEER_RTR_DISCOVERED)) {
all_known = 0;
spin_unlock(&rtr->lp_lock);
break;