summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pimd/pim_main.c2
-rw-r--r--pimd/pim_zebra.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim_main.c b/pimd/pim_main.c
index 96b784c2c8..c9b11d1075 100644
--- a/pimd/pim_main.c
+++ b/pimd/pim_main.c
@@ -35,6 +35,7 @@
#include "vty.h"
#include "sigevent.h"
#include "version.h"
+#include "vrf.h"
#include "pimd.h"
#include "pim_version.h"
@@ -197,6 +198,7 @@ int main(int argc, char** argv, char** envp) {
cmd_init(1);
vty_init(master);
memory_init();
+ vrf_init ();
access_list_init();
pim_init();
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 1df2f70513..b3e61f2b06 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -650,6 +650,11 @@ static int redist_read_ipv4_route(int command, struct zclient *zclient,
return 0;
}
+static void
+pim_zebra_connected (struct zclient *zclient)
+{
+ zclient_send_reg_requests (zclient, VRF_DEFAULT);
+}
void pim_zebra_init(char *zebra_sock_path)
{
int i;
@@ -666,6 +671,7 @@ void pim_zebra_init(char *zebra_sock_path)
/* Socket for receiving updates from Zebra daemon */
qpim_zclient_update = zclient_new (master);
+ qpim_zclient_update->zebra_connected = pim_zebra_connected;
qpim_zclient_update->router_id_update = pim_router_id_update_zebra;
qpim_zclient_update->interface_add = pim_zebra_if_add;
qpim_zclient_update->interface_delete = pim_zebra_if_del;