]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: when parsing local entry against dad, retrieve config
authorPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 25 Oct 2019 12:25:00 +0000 (14:25 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Mon, 18 May 2020 12:11:03 +0000 (14:11 +0200)
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 <philippe.guibert@6wind.com>
zebra/zebra_vxlan.c

index 0703c028e86c87c451a6e27fceb833f5ee1c511c..6a4c01bd5bf1f9f6d47050d45b500c6818df2432 100644 (file)
@@ -5680,7 +5680,7 @@ static void process_remote_macip_add(vni_t vni,
                return;
        }
 
-       zvrf = vrf_info_lookup(zvni->vxlan_if->vrf_id);
+       zvrf = zebra_vrf_get_evpn();
        if (!zvrf)
                return;
 
@@ -8189,11 +8189,10 @@ int zebra_vxlan_local_mac_add_update(struct interface *ifp,
                return -1;
        }
 
-       zvrf = vrf_info_lookup(zvni->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",
-                                  zvni->vxlan_if->vrf_id);
+                       zlog_debug("        No Evpn Global Vrf found");
                return -1;
        }