summaryrefslogtreecommitdiffstats
path: root/bgpd
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/bgp_route.c9
-rw-r--r--bgpd/bgpd.c7
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;
}