summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_evpn.c1
-rw-r--r--bgpd/bgp_main.c3
-rw-r--r--bgpd/bgpd.c1
3 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c
index 7be7937786..ac5880938f 100644
--- a/bgpd/bgp_evpn.c
+++ b/bgpd/bgp_evpn.c
@@ -2498,6 +2498,7 @@ static int install_evpn_route_entry_in_vrf(struct bgp *bgp_vrf,
&attr_new->mp_nexthop_global)))
SET_FLAG(pi->flags, BGP_PATH_IGP_CHANGED);
+ bgp_path_info_set_flag(rn, pi, BGP_PATH_ATTR_CHANGED);
/* Unintern existing, set to new. */
bgp_attr_unintern(&pi->attr);
pi->attr = attr_new;
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c
index f8ff4f2f07..47e7c1686f 100644
--- a/bgpd/bgp_main.c
+++ b/bgpd/bgp_main.c
@@ -235,6 +235,9 @@ static __attribute__((__noreturn__)) void bgp_exit(int status)
bf_free(bm->rd_idspace);
list_delete(&bm->bgp);
+
+ bgp_lp_finish();
+
memset(bm, 0, sizeof(*bm));
frr_fini();
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 94cb285a03..d6be3228fe 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -7963,5 +7963,4 @@ void bgp_terminate(void)
if (bm->t_rmap_update)
BGP_TIMER_OFF(bm->t_rmap_update);
- bgp_lp_finish();
}