diff options
| author | Volodymyr Huti <volodymyr.huti@gmail.com> | 2022-04-11 06:58:14 +0300 |
|---|---|---|
| committer | Volodymyr Huti <volodymyr.huti@gmail.com> | 2022-04-19 22:53:57 +0300 |
| commit | 7fb9825cf7e762add68f5108df4eddda1247f198 (patch) | |
| tree | 20a0dd47fc61155a8112e1613a8e458925bc198c /ospfd/ospf_interface.c | |
| parent | 27a16809268d68adb6b419cc2564b3e301504260 (diff) | |
zebra: set ZEBRA_IFC_DOWN on connected routes for inactive interfaces
If you are in a situation where you have multiple addresses on an
interface, zebra creates one connected route for them.
The issue is that the rib entry is not created if addresses were
added before the interface was running.
We add the address to a running interface in a typical flow.
Therefore, we handle the route & rib creation within a single ADD event.
In the opposite case, we create the route entries without activating them.
These are considered to be active since ZEBRA_IFC_DOWN is not set.
On the following interface UP, we ignore the same ADDR_ADD as it overlaps
with the existing prefixes -> rib is never created.
The minimal reproducible setup:
-----------------------------------------
ip link add name dummy0 type dummy
ip addr flush dev dummy0
ip link set dummy0 down
ip addr add 192.168.1.7/24 dev dummy0
ip addr add 192.168.1.8/24 dev dummy0
ip link set dummy0 up
vtysh -c 'show ip route' | grep dummy0
Signed-off-by: Volodymyr Huti <v.huti@vyos.io>
Diffstat (limited to 'ospfd/ospf_interface.c')
0 files changed, 0 insertions, 0 deletions
