From 1073e0f9b39b2810a114dea03f2d1e0b14e414d4 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Thu, 31 Oct 2024 11:38:40 +0200 Subject: [PATCH] ospfd: Use router_id what Zebra has if we remove a static router_id If we set router-id, e.g. `router-id x.x.x.x`, then we have: ``` pc.donatas.net# show ip ospf | include Router ID OSPF Routing Process, Router ID: x.x.x.x ``` But once we remove it (`no router-id x.x.x.x`), the old router-id remains. This is kinda OK, but to be consistent with OSPFv3 we should use what Zebra already has, instead of retaining the old one. Signed-off-by: Donatas Abraitis --- ospfd/ospfd.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 9d7870d2f7ea..69ad16e847d8 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;