summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEverton Marques <everton.marques@gmail.com>2014-09-29 17:58:30 -0300
committerDavid Lamparter <equinox@opensourcerouting.org>2015-02-04 06:08:01 +0100
commit8150beed9a4f50a72696a65c1f40889ab65ad7ff (patch)
tree899d127a1e4f1dc739d51babf627d3f8becce524
parente324ddc5c73b2e2fb1c450a5fe927aa336e568e6 (diff)
downloadquagga-8150beed9a4f50a72696a65c1f40889ab65ad7ff.tar.bz2
quagga-8150beed9a4f50a72696a65c1f40889ab65ad7ff.tar.xz
pimd: Explicitly restart zclient update connection.
-rw-r--r--pimd/pim_zebra.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index fd525ae6..c4a6f7a8 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -66,6 +66,8 @@ static void zclient_broken(struct zclient *zclient)
/* 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 @@ void pim_zebra_init(char *zebra_sock_path)
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 */