diff options
author | David Lamparter <equinox@diac24.net> | 2019-03-06 16:00:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-06 16:00:40 +0100 |
commit | 86a1266c9c3a4cd3a3532e7fdbb272b9cbce674d (patch) | |
tree | 9758731b3302144e4a60f87167fa38f0ad74bc3e /zebra | |
parent | Merge pull request #3911 from mjstapp/fix_privs_deadlock (diff) | |
parent | zebra: Prevent crash in dad auto recovery (diff) | |
download | frr-86a1266c9c3a4cd3a3532e7fdbb272b9cbce674d.tar.xz frr-86a1266c9c3a4cd3a3532e7fdbb272b9cbce674d.zip |
Merge pull request #3853 from donaldsharp/partial_revert
zebra: Prevent crash in dad auto recovery
Diffstat (limited to 'zebra')
-rw-r--r-- | zebra/zebra_vxlan.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index 16a47f9c4..9a7d20bc4 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -9157,16 +9157,16 @@ static int zebra_vxlan_dad_ip_auto_recovery_exp(struct thread *t) nbr = THREAD_ARG(t); /* since this is asynchronous we need sanity checks*/ - nbr = zvni_neigh_lookup(zvni, &nbr->ip); - if (!nbr) + zvrf = vrf_info_lookup(nbr->zvni->vrf_id); + if (!zvrf) return 0; zvni = zvni_lookup(nbr->zvni->vni); if (!zvni) return 0; - zvrf = vrf_info_lookup(zvni->vxlan_if->vrf_id); - if (!zvrf) + nbr = zvni_neigh_lookup(zvni, &nbr->ip); + if (!nbr) return 0; if (IS_ZEBRA_DEBUG_VXLAN) @@ -9207,16 +9207,16 @@ static int zebra_vxlan_dad_mac_auto_recovery_exp(struct thread *t) mac = THREAD_ARG(t); /* since this is asynchronous we need sanity checks*/ - mac = zvni_mac_lookup(zvni, &mac->macaddr); - if (!mac) + zvrf = vrf_info_lookup(mac->zvni->vrf_id); + if (!zvrf) return 0; zvni = zvni_lookup(mac->zvni->vni); if (!zvni) return 0; - zvrf = vrf_info_lookup(zvni->vxlan_if->vrf_id); - if (!zvrf) + mac = zvni_mac_lookup(zvni, &mac->macaddr); + if (!mac) return 0; if (IS_ZEBRA_DEBUG_VXLAN) |