]> git.proxmox.com Git - mirror_frr.git/commit
zebra: refresh vxlan evpn contexts, when bridge interface goes up
authorPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 17 Aug 2021 08:56:32 +0000 (10:56 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 17 Sep 2021 08:25:38 +0000 (10:25 +0200)
commitf56a15b5bd231c78456a2d340abbd0300a686e81
tree081c3e8bc73c2c1d92820b28c57752ddfc6dc72c
parentc7620108890f58796b0155bb9ef3d65f0b39909f
zebra: refresh vxlan evpn contexts, when bridge interface goes up

When using bgp evpn rt5 setup, after BGP configuration has been
loaded, if the user attempts to detach and reattach the bridged
vxlan interface from the bridge, then BGP loses its BGP EVPN
contexts, and a refresh of BGP configuration is necessary to
maintain consistency between linux configuration and BGP EVPN
contexts (RIB). The following command can lead to inconsistency:

ip netns exec cust1 ip link set dev vxlan1000 nomaster
ip netns exec cust1 ip link set dev vxlan1000 master br1000

consecutive to the, BGP l2vpn evpn RIB is empty, and the way to
solve this until now is to reconfigure EVPN like this:

vrf cust1
 no vni 1000
 vni 1000
exit-vrf

Actually, the link information is correctly handled. In fact,
at the time of link event, the lower link status of the bridge
interface was not yet up, thus preventing from establishing
BGP EVPN contexts. In fact, when a bridge interface does not
have any slave interface, the link status of the bridge interface
is down. That change of status comes a bit after, and is not
detected by slave interfaces, as this event is not intercepted.

This commit intercepts the bridge link up event, and triggers
a check on slaved vxlan interfaces.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
zebra/if_netlink.c
zebra/zebra_l2.c
zebra/zebra_l2.h