]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: Use router_id what Zebra has if we remove a static router_id 17319/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 31 Oct 2024 09:38:40 +0000 (11:38 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 31 Oct 2024 09:38:40 +0000 (11:38 +0200)
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 <donatas@opensourcerouting.org>
ospfd/ospfd.c

index 9d7870d2f7ea1fed6aaff2679781eb41b44b12c0..69ad16e847d88acbbf1e76bba162f200ae84d4f3 100644 (file)
@@ -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;