diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 23e6195d34..6def66c023 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -2658,9 +2658,12 @@ void bgp_best_selection(struct bgp *bgp, struct bgp_dest *dest, continue; if (BGP_PATH_HOLDDOWN(pi1)) continue; - if (pi1->peer != bgp->peer_self) + if (pi1->peer != bgp->peer_self && + !CHECK_FLAG(pi1->peer->sflags, + PEER_STATUS_NSF_WAIT)) { if (!peer_established(pi1->peer)) continue; + } new_select = pi1; if (pi1->next) {