X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Flnet%2Frouter.c;h=fb60c56d0fb40f56caff1bbda4effc5d8e288dd1;hp=3d06b455977a3e7903db4342eeeda20b2f571cf8;hb=2e07619477;hpb=55d5235354d49aee0a330ad64beef4ed9004a27f diff --git a/lnet/lnet/router.c b/lnet/lnet/router.c index 3d06b45..fb60c56 100644 --- a/lnet/lnet/router.c +++ b/lnet/lnet/router.c @@ -326,7 +326,8 @@ bool lnet_is_route_alive(struct lnet_route *route) * that the remote net must exist on the gateway. For multi-hop * routes the next-hop will not have the remote net. */ - if (avoid_asym_router_failure && route->lr_single_hop) { + if (avoid_asym_router_failure && + (route->lr_hops == 1 || route->lr_hops == LNET_UNDEFINED_HOPS)) { rlpn = lnet_peer_get_net_locked(gw, route->lr_net); if (!rlpn) return false; @@ -377,7 +378,8 @@ lnet_consolidate_routes_locked(struct lnet_peer *orig_lp, static inline void lnet_check_route_inconsistency(struct lnet_route *route) { - if (!route->lr_single_hop && (int)route->lr_hops <= 1) { + if (!route->lr_single_hop && + (route->lr_hops == 1 || route->lr_hops == LNET_UNDEFINED_HOPS)) { CWARN("route %s->%s is detected to be multi-hop but hop count is set to %d\n", libcfs_net2str(route->lr_net), libcfs_nid2str(route->lr_gateway->lp_primary_nid), @@ -493,7 +495,9 @@ lnet_router_discovery_ping_reply(struct lnet_peer *lp) } route->lr_single_hop = single_hop; - if (avoid_asym_router_failure && single_hop) + if (avoid_asym_router_failure && + (route->lr_hops == 1 || + route->lr_hops == LNET_UNDEFINED_HOPS)) lnet_set_route_aliveness(route, net_up); else lnet_set_route_aliveness(route, true);