]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: Push all configured IP addresses when the interface comes up
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 21 Dec 2023 12:25:19 +0000 (14:25 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 21 Dec 2023 14:32:14 +0000 (16:32 +0200)
Let's say we this:

```
$ ip link set down dev r1-eth0
$ ip link set up dev r1-eth0
```

But at the same time we have this interface configured by the FRR too:

```
interface r1-eth0
 ipv6 address fe80:1::1/64
exit
```

We never re-add fe80:1::1/64, when the interface comes up, and we have a
strange situation where NHT stops working and other stuff depending on NHT
stops too (BGP peering, etc.).

Closes: https://github.com/FRRouting/frr/issues/15050
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
zebra/interface.c

index 39d24f18838958fddb0d5364af787f2d4bc3e4b7..41ef5e436d5a522d278e814eb75f95031eff50e4 100644 (file)
@@ -1054,6 +1054,8 @@ void if_up(struct interface *ifp, bool install_connected)
        event_add_timer(zrouter.master, if_zebra_speed_update, ifp, 0,
                        &zif->speed_update);
        event_ignore_late_timer(zif->speed_update);
+
+       if_addr_wakeup(ifp);
 }
 
 /* Interface goes down.  We have to manage different behavior of based