summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_main.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2016-10-30 22:50:26 +0100
committerRenato Westphal <renato@opensourcerouting.org>2016-11-28 19:18:35 +0100
commit661512bf053ecc3d441bb8938dcd4541ae7ffc33 (patch)
tree01233125543e939ed1e5bd23c050509755c5db50 /bgpd/bgp_main.c
parentlib/zebra: put vrf_get() on a diet (diff)
downloadfrr-661512bf053ecc3d441bb8938dcd4541ae7ffc33.tar.xz
frr-661512bf053ecc3d441bb8938dcd4541ae7ffc33.zip
zebra/lib: remove redundant fields from zebra_vrf
There's no need to duplicate the 'vrf_id' and 'name' fields from the 'vrf' structure into the 'zebra_vrf' structure. Instead of that, add a back pointer in 'zebra_vrf' that should point to the associated 'vrf' structure. Additionally, modify the vrf callbacks to pass the whole vrf structure as a parameter. This allow us to make further simplifications in the code. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_main.c')
-rw-r--r--bgpd/bgp_main.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c
index 4e31eb344..91eacc932 100644
--- a/bgpd/bgp_main.c
+++ b/bgpd/bgp_main.c
@@ -308,38 +308,33 @@ bgp_exit (int status)
}
static int
-bgp_vrf_new (vrf_id_t vrf_id, const char *name, void **info)
+bgp_vrf_new (struct vrf *vrf)
{
if (BGP_DEBUG (zebra, ZEBRA))
- zlog_debug ("VRF Created: %s(%d)", name, vrf_id);
+ zlog_debug ("VRF Created: %s(%d)", vrf->name, vrf->vrf_id);
return 0;
}
static int
-bgp_vrf_delete (vrf_id_t vrf_id, const char *name, void **info)
+bgp_vrf_delete (struct vrf *vrf)
{
if (BGP_DEBUG (zebra, ZEBRA))
- zlog_debug ("VRF Deletion: %s(%d)", name, vrf_id);
+ zlog_debug ("VRF Deletion: %s(%d)", vrf->name, vrf->vrf_id);
return 0;
}
static int
-bgp_vrf_enable (vrf_id_t vrf_id, const char *name, void **info)
+bgp_vrf_enable (struct vrf *vrf)
{
- struct vrf *vrf;
struct bgp *bgp;
vrf_id_t old_vrf_id;
- vrf = vrf_lookup_by_id (vrf_id);
- if (!vrf) // unexpected
- return -1;
-
if (BGP_DEBUG (zebra, ZEBRA))
- zlog_debug("VRF enable add %s id %d", name, vrf_id);
+ zlog_debug("VRF enable add %s id %d", vrf->name, vrf->vrf_id);
- bgp = bgp_lookup_by_name(name);
+ bgp = bgp_lookup_by_name (vrf->name);
if (bgp)
{
old_vrf_id = bgp->vrf_id;
@@ -356,23 +351,18 @@ bgp_vrf_enable (vrf_id_t vrf_id, const char *name, void **info)
}
static int
-bgp_vrf_disable (vrf_id_t vrf_id, const char *name, void **info)
+bgp_vrf_disable (struct vrf *vrf)
{
- struct vrf *vrf;
struct bgp *bgp;
vrf_id_t old_vrf_id;
- if (vrf_id == VRF_DEFAULT)
+ if (vrf->vrf_id == VRF_DEFAULT)
return 0;
- vrf = vrf_lookup_by_id (vrf_id);
- if (!vrf) // unexpected
- return -1;
-
if (BGP_DEBUG (zebra, ZEBRA))
- zlog_debug("VRF disable %s id %d", name, vrf_id);
+ zlog_debug("VRF disable %s id %d", vrf->name, vrf->vrf_id);
- bgp = bgp_lookup_by_name(name);
+ bgp = bgp_lookup_by_name (vrf->name);
if (bgp)
{
old_vrf_id = bgp->vrf_id;