From fc2408ec18117e34aed8aec1559019732eeefdc7 Mon Sep 17 00:00:00 2001 From: Don Slice Date: Wed, 13 Mar 2019 18:41:29 +0000 Subject: [PATCH] bgpd: move bgp_update_redist_vrf_bitmaps to bgp_zebra.c for wider use beyond bgp_vty Signed-off-by: Don Slice --- bgpd/bgp_vty.c | 23 ----------------------- bgpd/bgp_zebra.c | 23 +++++++++++++++++++++++ bgpd/bgp_zebra.h | 1 + 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index b059ef2205..ff1b02d8e4 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -2055,29 +2055,6 @@ DEFUN (no_bgp_graceful_restart_preserve_fw, return CMD_SUCCESS; } -static void bgp_redistribute_redo(struct bgp *bgp) -{ - afi_t afi; - int i; - struct list *red_list; - struct listnode *node; - struct bgp_redist *red; - - for (afi = AFI_IP; afi < AFI_MAX; afi++) { - for (i = 0; i < ZEBRA_ROUTE_MAX; i++) { - - red_list = bgp->redist[afi][i]; - if (!red_list) - continue; - - for (ALL_LIST_ELEMENTS_RO(red_list, node, red)) { - bgp_redistribute_resend(bgp, afi, i, - red->instance); - } - } - } -} - /* "bgp graceful-shutdown" configuration */ DEFUN (bgp_graceful_shutdown, bgp_graceful_shutdown_cmd, diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 4285955034..ca25a1d4c6 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -1820,6 +1820,29 @@ int bgp_redistribute_unset(struct bgp *bgp, afi_t afi, int type, return CMD_SUCCESS; } +void bgp_redistribute_redo(struct bgp *bgp) +{ + afi_t afi; + int i; + struct list *red_list; + struct listnode *node; + struct bgp_redist *red; + + for (afi = AFI_IP; afi < AFI_MAX; afi++) { + for (i = 0; i < ZEBRA_ROUTE_MAX; i++) { + + red_list = bgp->redist[afi][i]; + if (!red_list) + continue; + + for (ALL_LIST_ELEMENTS_RO(red_list, node, red)) { + bgp_redistribute_resend(bgp, afi, i, + red->instance); + } + } + } +} + /* Update redistribute vrf bitmap during triggers like restart networking or delete/add VRFs */ void bgp_update_redist_vrf_bitmaps(struct bgp *bgp, vrf_id_t old_vrf_id) diff --git a/bgpd/bgp_zebra.h b/bgpd/bgp_zebra.h index fc19c5e17f..b912870b80 100644 --- a/bgpd/bgp_zebra.h +++ b/bgpd/bgp_zebra.h @@ -49,6 +49,7 @@ extern void bgp_zebra_terminate_radv(struct bgp *bgp, struct peer *peer); extern void bgp_zebra_instance_register(struct bgp *); extern void bgp_zebra_instance_deregister(struct bgp *); +extern void bgp_redistribute_redo(struct bgp *bgp); extern struct bgp_redist *bgp_redist_lookup(struct bgp *, afi_t, uint8_t, unsigned short); extern struct bgp_redist *bgp_redist_add(struct bgp *, afi_t, uint8_t, -- 2.39.5