summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorFeng Lu <lu.feng@6wind.com>2015-05-22 11:39:58 +0200
committerVipin Kumar <vipin@cumulusnetworks.com>2015-10-30 01:00:32 +0100
commit6a69b354a6656f138a5f11e4542dc84f748f2bea (patch)
tree8d48ae3adce87147c207aa54132ce9bab6d793c8 /lib
parentlib, zebra: add "vrf_id" into the "struct interface" (diff)
downloadfrr-6a69b354a6656f138a5f11e4542dc84f748f2bea.tar.xz
frr-6a69b354a6656f138a5f11e4542dc84f748f2bea.zip
*: call if_init()/if_terminate() from vrf_init()/vrf_terminate()
Later, an interface will belong to a specific VRF, and the interface initialization will be a part of the VRF initialization. So now call if_init() from vrf_init(), and if_terminate() from vrf_terminate(). Daemons have the according changes: - if if_init() was called or "iflist" was initialized, now call vrf_init() instead; - if if_terminate() was called or "iflist" was destroyed, now call vrf_terminate() instead. Signed-off-by: Feng Lu <lu.feng@6wind.com> Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Conflicts: bgpd/bgp_main.c pimd/pim_iface.c pimd/pim_iface.h pimd/pim_main.c pimd/pimd.c
Diffstat (limited to 'lib')
-rw-r--r--lib/vrf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/vrf.c b/lib/vrf.c
index 3ccbb9961..51f9e3795 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -22,6 +22,7 @@
#include <zebra.h>
+#include "if.h"
#include "vrf.h"
#include "prefix.h"
#include "table.h"
@@ -249,6 +250,8 @@ vrf_init (void)
/* Set the default VRF name. */
default_vrf->name = XSTRDUP (MTYPE_VRF_NAME, "Default-IP-Routing-Table");
+
+ if_init ();
}
/* Terminate VRF module. */
@@ -264,5 +267,7 @@ vrf_terminate (void)
route_table_finish (vrf_table);
vrf_table = NULL;
+
+ if_terminate ();
}