summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tejblum <tejblum@yandex-team.ru>2010-10-18 19:05:39 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2010-10-18 19:05:39 +0400
commit08a7a91646a1ee317c402b421e3a7036a640bcf4 (patch)
tree59dc48ed11f69a61cd282783ffab25f30073f334
parent4c9641ba4df276080c670e03f65b1d442660a50f (diff)
zclient: fix router-id calculation for IPv6 (#595)
If router-id is not specified in ospf6d.conf, ospf6d will get it from the zebra daemon. But ospf6d originates Link LSAs before the router-id is returned by zebra, thus this router's Link LSAs will be flooded with AdvRouter set to 0. * zclient.c: zclient_start(): send ZEBRA_INTERFACE_ADD message after ZEBRA_ROUTER_ID_ADD, not before
-rw-r--r--lib/zclient.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/zclient.c b/lib/zclient.c
index d3d53227..52a3627d 100644
--- a/lib/zclient.c
+++ b/lib/zclient.c
@@ -339,12 +339,12 @@ zclient_start (struct zclient *zclient)
/* Create read thread. */
zclient_event (ZCLIENT_READ, zclient);
- /* We need interface information. */
- zebra_message_send (zclient, ZEBRA_INTERFACE_ADD);
-
/* We need router-id information. */
zebra_message_send (zclient, ZEBRA_ROUTER_ID_ADD);
+ /* We need interface information. */
+ zebra_message_send (zclient, ZEBRA_INTERFACE_ADD);
+
/* Flush all redistribute request. */
for (i = 0; i < ZEBRA_ROUTE_MAX; i++)
if (i != zclient->redist_default && zclient->redist[i])