summaryrefslogtreecommitdiffstats
path: root/lib/vrf.c
diff options
context:
space:
mode:
authorFeng Lu <lu.feng@6wind.com>2015-05-22 11:39:58 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2015-06-02 06:58:12 +0200
commit126215c1238eb42cc92d23aefbe1fac3b204438f (patch)
tree22910b50f39003e297efc6236711581cbf3b2ada /lib/vrf.c
parent2fc97f6335dd5d7df2c285b363c6ef56bb98dcf8 (diff)
downloadquagga-126215c1238eb42cc92d23aefbe1fac3b204438f.tar.bz2
quagga-126215c1238eb42cc92d23aefbe1fac3b204438f.tar.xz
*: 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>
Diffstat (limited to 'lib/vrf.c')
-rw-r--r--lib/vrf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/vrf.c b/lib/vrf.c
index 3ccbb996..51f9e379 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 ();
}