summaryrefslogtreecommitdiff
path: root/ospfd
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2024-11-05 10:19:44 -0500
committerGitHub <noreply@github.com>2024-11-05 10:19:44 -0500
commit408decfd77066d8ba7977b6d1af29ad80902971c (patch)
treec6d2435c90404aeff77f2f5f40218863b03c2b59 /ospfd
parent318e983a59dbf67efbc3ecad8c29afefedec5760 (diff)
parent1073e0f9b39b2810a114dea03f2d1e0b14e414d4 (diff)
Merge pull request #17319 from opensourcerouting/fix/no_ospf_router-id
ospfd: Use router_id what Zebra has if we remove a static router_id
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ospf_vty.c7
-rw-r--r--ospfd/ospfd.c7
2 files changed, 8 insertions, 6 deletions
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
index 428d92dd0c..0457b13337 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
@@ -339,6 +339,12 @@ DEFPY (no_ospf_router_id,
return CMD_SUCCESS;
}
+ALIAS_HIDDEN (no_ospf_router_id,
+ no_router_id_cmd,
+ "no router-id [A.B.C.D]",
+ NO_STR
+ "router-id for the OSPF process\n"
+ "OSPF router-id in IP address format\n")
static void ospf_passive_interface_default_update(struct ospf *ospf,
uint8_t newval)
@@ -13603,6 +13609,7 @@ void ospf_vty_init(void)
install_element(OSPF_NODE, &ospf_router_id_cmd);
install_element(OSPF_NODE, &ospf_router_id_old_cmd);
install_element(OSPF_NODE, &no_ospf_router_id_cmd);
+ install_element(OSPF_NODE, &no_router_id_cmd);
/* "passive-interface" commands. */
install_element(OSPF_NODE, &ospf_passive_interface_default_cmd);
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 7638e979a2..d72afec1e4 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -147,15 +147,10 @@ void ospf_process_refresh_data(struct ospf *ospf, bool reset)
/* Select the router ID based on these priorities:
1. Statically assigned router ID is always the first choice.
- 2. If there is no statically assigned router ID, then try to stick
- with the most recent value, since changing router ID's is very
- disruptive.
- 3. Last choice: just go with whatever the zebra daemon recommends.
+ 2. Just go with whatever the zebra daemon recommends.
*/
if (ospf->router_id_static.s_addr != INADDR_ANY)
router_id = ospf->router_id_static;
- else if (ospf->router_id.s_addr != INADDR_ANY)
- router_id = ospf->router_id;
else
router_id = ospf->router_id_zebra;