mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-17 21:38:11 +00:00
Merge pull request #4004 from chiragshah6/evpn_dev2
zebra: evpn mac ip dup detect (DAD) timers cleanup
This commit is contained in:
commit
baae20ccc7
@ -2191,6 +2191,7 @@ static zebra_neigh_t *zvni_neigh_add(zebra_vni_t *zvni, struct ipaddr *ip,
|
|||||||
memcpy(&n->emac, mac, ETH_ALEN);
|
memcpy(&n->emac, mac, ETH_ALEN);
|
||||||
n->state = ZEBRA_NEIGH_INACTIVE;
|
n->state = ZEBRA_NEIGH_INACTIVE;
|
||||||
n->zvni = zvni;
|
n->zvni = zvni;
|
||||||
|
n->dad_ip_auto_recovery_timer = NULL;
|
||||||
|
|
||||||
/* Associate the neigh to mac */
|
/* Associate the neigh to mac */
|
||||||
zmac = zvni_mac_lookup(zvni, mac);
|
zmac = zvni_mac_lookup(zvni, mac);
|
||||||
@ -2212,6 +2213,9 @@ static int zvni_neigh_del(zebra_vni_t *zvni, zebra_neigh_t *n)
|
|||||||
if (zmac)
|
if (zmac)
|
||||||
listnode_delete(zmac->neigh_list, n);
|
listnode_delete(zmac->neigh_list, n);
|
||||||
|
|
||||||
|
/* Cancel auto recovery */
|
||||||
|
THREAD_OFF(n->dad_ip_auto_recovery_timer);
|
||||||
|
|
||||||
/* Free the VNI hash entry and allocated memory. */
|
/* Free the VNI hash entry and allocated memory. */
|
||||||
tmp_n = hash_release(zvni->neigh_table, n);
|
tmp_n = hash_release(zvni->neigh_table, n);
|
||||||
XFREE(MTYPE_NEIGH, tmp_n);
|
XFREE(MTYPE_NEIGH, tmp_n);
|
||||||
@ -3308,6 +3312,9 @@ static zebra_mac_t *zvni_mac_add(zebra_vni_t *zvni, struct ethaddr *macaddr)
|
|||||||
mac = hash_get(zvni->mac_table, &tmp_mac, zvni_mac_alloc);
|
mac = hash_get(zvni->mac_table, &tmp_mac, zvni_mac_alloc);
|
||||||
assert(mac);
|
assert(mac);
|
||||||
|
|
||||||
|
mac->zvni = zvni;
|
||||||
|
mac->dad_mac_auto_recovery_timer = NULL;
|
||||||
|
|
||||||
mac->neigh_list = list_new();
|
mac->neigh_list = list_new();
|
||||||
mac->neigh_list->cmp = neigh_list_cmp;
|
mac->neigh_list->cmp = neigh_list_cmp;
|
||||||
|
|
||||||
@ -3321,6 +3328,9 @@ static int zvni_mac_del(zebra_vni_t *zvni, zebra_mac_t *mac)
|
|||||||
{
|
{
|
||||||
zebra_mac_t *tmp_mac;
|
zebra_mac_t *tmp_mac;
|
||||||
|
|
||||||
|
/* Cancel auto recovery */
|
||||||
|
THREAD_OFF(mac->dad_mac_auto_recovery_timer);
|
||||||
|
|
||||||
list_delete(&mac->neigh_list);
|
list_delete(&mac->neigh_list);
|
||||||
|
|
||||||
/* Free the VNI hash entry and allocated memory. */
|
/* Free the VNI hash entry and allocated memory. */
|
||||||
|
Loading…
Reference in New Issue
Block a user