From c8a440eca0645a8a78140f83907acce25a3c67c6 Mon Sep 17 00:00:00 2001 From: hasso Date: Mon, 11 Oct 2004 17:02:40 +0000 Subject: Better common router-id handling. --- ospf6d/ChangeLog | 6 ++++++ ospf6d/ospf6_top.c | 10 +++++++--- ospf6d/ospf6_top.h | 3 +++ 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 + + * 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 * 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; -- cgit v1.2.1