From: Philippe Guibert Date: Fri, 25 Oct 2019 12:25:00 +0000 (+0200) Subject: zebra: when parsing local entry against dad, retrieve config X-Git-Tag: frr-7.5~15^2~11 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=e4787e2d10d74568c0743ad2821ac1c174b488b2;p=mirror%2Ffrr.git zebra: when parsing local entry against dad, retrieve config when duplicate address detection is observed, some incrementation, some timing mechanisms need to be done. For that the main evpn configuration is retrieved. Until now, the VRF that was storing the dad config parameters was the same VRF that hosted the VXLAN interface. With netns backend, this is not true, as the VXLAN interface is in the same VRF as the bridge interface. The modification takes same definition as in BGP, that is to say that there is a single bgp evpn instance, and this is that instance that will give the correct config settings. Signed-off-by: Philippe Guibert --- diff --git a/zebra/zebra_evpn.c b/zebra/zebra_evpn.c index da4ba4f705..d78ee57af3 100644 --- a/zebra/zebra_evpn.c +++ b/zebra/zebra_evpn.c @@ -1372,7 +1372,7 @@ void process_remote_macip_add(vni_t vni, struct ethaddr *macaddr, } } - zvrf = vrf_info_lookup(zevpn->vxlan_if->vrf_id); + zvrf = zebra_vrf_get_evpn(); if (!zvrf) return; diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index a0046e6031..6332854e73 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -4062,11 +4062,10 @@ int zebra_vxlan_local_mac_add_update(struct interface *ifp, return -1; } - zvrf = vrf_info_lookup(zevpn->vxlan_if->vrf_id); + zvrf = zebra_vrf_get_evpn(); if (!zvrf) { if (IS_ZEBRA_DEBUG_VXLAN) - zlog_debug(" No Vrf found for vrf_id: %d", - zevpn->vxlan_if->vrf_id); + zlog_debug(" No Evpn Global Vrf found"); return -1; }