From 14f0a0f9c51950611600d7ba675d2c7275724756 Mon Sep 17 00:00:00 2001 From: Lou Berger Date: Tue, 9 May 2017 14:38:55 -0400 Subject: [PATCH] bgp rfapi: rfapi shouldn't be called (yet) for BGP VRF instances. --- bgpd/bgpd.c | 9 ++++++--- bgpd/rfapi/bgp_rfapi_cfg.c | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 25bd757840..9af26f5510 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2951,9 +2951,12 @@ bgp_create (as_t *as, const char *name, enum bgp_instance_type inst_type) bgp->as = *as; #if ENABLE_BGP_VNC - bgp->rfapi = bgp_rfapi_new(bgp); - assert(bgp->rfapi); - assert(bgp->rfapi_cfg); + if (inst_type != BGP_INSTANCE_TYPE_VRF) + { + bgp->rfapi = bgp_rfapi_new(bgp); + assert(bgp->rfapi); + assert(bgp->rfapi_cfg); + } #endif /* ENABLE_BGP_VNC */ if (name) diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index 5ddccc906f..4f46565900 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -4281,6 +4281,8 @@ bgp_rfapi_cfg_write (struct vty *vty, struct bgp *bgp) int write = 0; afi_t afi; int type; + if (bgp->rfapi == NULL || hc == NULL) + return write; vty_out (vty, "!%s", VTY_NEWLINE); for (ALL_LIST_ELEMENTS (hc->nve_groups_sequential, node, nnode, rfg)) -- 2.39.5