diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/bgp_route.c | 9 | ||||
-rw-r--r-- | bgpd/bgpd.c | 7 |
2 files changed, 10 insertions, 6 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index e692d8f39..a8e016a89 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5620,8 +5620,8 @@ void bgp_set_stale_route(struct peer *peer, afi_t afi, safi_t safi) if (bgp_debug_neighbor_events( peer)) zlog_debug( - "%s: route-refresh for %s/%s, marking prefix %pFX as stale", - peer->host, + "%pBP route-refresh for %s/%s, marking prefix %pFX as stale", + peer, afi2str(afi), safi2str(safi), bgp_dest_get_prefix( @@ -5649,9 +5649,8 @@ void bgp_set_stale_route(struct peer *peer, afi_t afi, safi_t safi) BGP_PATH_UNUSEABLE)) { if (bgp_debug_neighbor_events(peer)) zlog_debug( - "%s: route-refresh for %s/%s, marking prefix %pFX as stale", - peer->host, - afi2str(afi), + "%pBP route-refresh for %s/%s, marking prefix %pFX as stale", + peer, afi2str(afi), safi2str(safi), bgp_dest_get_prefix( dest)); diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index b64445f1a..749e46ebe 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2374,8 +2374,10 @@ void peer_nsf_stop(struct peer *peer) UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT); UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_MODE); - FOREACH_AFI_SAFI_NSF (afi, safi) + FOREACH_AFI_SAFI_NSF (afi, safi) { peer->nsf[afi][safi] = 0; + THREAD_OFF(peer->t_llgr_stale[afi][safi]); + } if (peer->t_gr_restart) { THREAD_OFF(peer->t_gr_restart); @@ -7248,6 +7250,9 @@ static void peer_advertise_map_filter_update(struct peer *peer, afi_t afi, if (filter_exists) bgp_conditional_adv_disable(peer, afi, safi); + /* Process peer route updates. */ + peer_on_policy_change(peer, afi, safi, 1); + return; } |