summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospf6d/ChangeLog6
-rw-r--r--ospf6d/ospf6_top.c10
-rw-r--r--ospf6d/ospf6_top.h3
3 files changed, 16 insertions, 3 deletions
diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog
index 3142bea6..17da81d8 100644
--- a/ospf6d/ChangeLog
+++ b/ospf6d/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+ * osp6_top.c, ospf6_top.h: Better handling for router-id. If we use
+ common one, don't output it into configuration - only statically
+ configured one.
+
2004-10-10 Paul Jakma <paul@dishone.st>
* Makefile.am: fix listing of ospf_snmp.c in noinst_HEADERS
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c
index 9fd32641..b0fe5ca7 100644
--- a/ospf6d/ospf6_top.c
+++ b/ospf6d/ospf6_top.c
@@ -311,7 +311,10 @@ DEFUN (ospf6_router_id,
return CMD_SUCCESS;
}
- o->router_id = router_id;
+ o->router_id_static = router_id;
+ if (o->router_id == 0)
+ o->router_id = router_id;
+
return CMD_SUCCESS;
}
@@ -618,9 +621,10 @@ config_write_ospf6 (struct vty *vty)
if (CHECK_FLAG (ospf6->flag, OSPF6_DISABLED))
return CMD_SUCCESS;
- inet_ntop (AF_INET, &ospf6->router_id, router_id, sizeof (router_id));
+ inet_ntop (AF_INET, &ospf6->router_id_static, router_id, sizeof (router_id));
vty_out (vty, "router ospf6%s", VNL);
- vty_out (vty, " router-id %s%s", router_id, VNL);
+ if (ospf6->router_id_static != 0)
+ vty_out (vty, " router-id %s%s", router_id, VNL);
ospf6_redistribute_config_write (vty);
ospf6_area_config_write (vty);
diff --git a/ospf6d/ospf6_top.h b/ospf6d/ospf6_top.h
index 9fd03954..eae20e6e 100644
--- a/ospf6d/ospf6_top.h
+++ b/ospf6d/ospf6_top.h
@@ -30,6 +30,9 @@ struct ospf6
/* my router id */
u_int32_t router_id;
+ /* static router id */
+ u_int32_t router_id_static;
+
/* start time */
struct timeval starttime;