pimd: Explicitly restart zclient update connection.
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index fd525ae..c4a6f7a 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -66,6 +66,8 @@
/* discard connected addresses because zclient lib will reassign
them upon reconnection */
if_connected_reset_all();
+
+ zclient_init(qpim_zclient_update, ZEBRA_ROUTE_PIM); /* reconnect */
}
/* Router-id update message from zebra. */
@@ -677,11 +679,12 @@
qpim_zclient_update->ipv4_route_add = redist_read_ipv4_route;
qpim_zclient_update->ipv4_route_delete = redist_read_ipv4_route;
- zclient_init(qpim_zclient_update, ZEBRA_ROUTE_PIM);
if (PIM_DEBUG_PIM_TRACE) {
zlog_info("zclient_init cleared redistribution request");
}
+ zclient_init(qpim_zclient_update, ZEBRA_ROUTE_PIM);
+
zassert(qpim_zclient_update->redist_default == ZEBRA_ROUTE_PIM);
/* Request all redistribution */