Browse Source

Better common router-id handling.

hasso 16 years ago
parent
commit
c8a440eca0
3 changed files with 16 additions and 3 deletions
  1. 6 0
      ospf6d/ChangeLog
  2. 7 3
      ospf6d/ospf6_top.c
  3. 3 0
      ospf6d/ospf6_top.h

+ 6 - 0
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

+ 7 - 3
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);

+ 3 - 0
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;