summaryrefslogtreecommitdiff
path: root/zebra/zebra_vxlan.c
diff options
context:
space:
mode:
authorPhilippe Guibert <philippe.guibert@6wind.com>2021-08-17 10:42:51 +0200
committerPhilippe Guibert <philippe.guibert@6wind.com>2021-09-17 10:25:35 +0200
commitc7620108890f58796b0155bb9ef3d65f0b39909f (patch)
tree403244b44880f83eadda8bc9148cde60fce1e20c /zebra/zebra_vxlan.c
parent249072620110e0359e2b03de4cdcd3b48e1e4b06 (diff)
zebra: handle bridge mac address update in evpn contexts
when running bgp evpn rt5 setup, the Rmac sent in BGP updates stands for the MAC address of the bridge interface. After having loaded frr configuration, the Rmac address is not refreshed. This issue can be easily reproduced by executing some commands: ip netns exec cust1 ip link set dev br1000 address 2e:ab:45:aa:bb:cc Actually, the BGP EVPN contexts are kept unchanged. That commit proposes to fix this by intercepting the mac address change, and refreshing the vxlan interfaces attached to te bridge interface that changed its MAC address. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'zebra/zebra_vxlan.c')
-rw-r--r--zebra/zebra_vxlan.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c
index 7ad129cecc..c13c867d2a 100644
--- a/zebra/zebra_vxlan.c
+++ b/zebra/zebra_vxlan.c
@@ -5043,6 +5043,13 @@ int zebra_vxlan_if_update(struct interface *ifp, uint16_t chgflags)
return 0;
}
+ if ((chgflags & ZEBRA_VXLIF_MASTER_MAC_CHANGE)
+ && if_is_operative(ifp) && is_l3vni_oper_up(zl3vni)) {
+ zebra_vxlan_process_l3vni_oper_down(zl3vni);
+ zebra_vxlan_process_l3vni_oper_up(zl3vni);
+ return 0;
+ }
+
/* access-vlan change - process oper down, associate with new
* svi_if and then process oper up again
*/