]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: stop neigh hold timer when the neigh is deleted
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Tue, 26 May 2020 13:24:17 +0000 (06:24 -0700)
committerIgor Ryzhov <iryzhov@nfware.com>
Tue, 6 Oct 2020 12:54:25 +0000 (15:54 +0300)
The neigh hold timer was firing after the neigh was deleted resulting
in the following crash -
[
    at ./zebra/zebra_evpn_neigh.h:155
    at zebra/zebra_evpn_neigh.c:447
    at lib/thread.c:1578
    at zebra/main.c:488
]

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
zebra/zebra_evpn_neigh.c

index 661d1c7f81c8b6dfeb5d9e6494c62c860391e69d..6a76a475e6f07dc56a28401410dbb32738b60c9d 100644 (file)
@@ -614,6 +614,9 @@ int zebra_evpn_neigh_del(zebra_evpn_t *zevpn, zebra_neigh_t *n)
        /* Cancel auto recovery */
        THREAD_OFF(n->dad_ip_auto_recovery_timer);
 
+       /* Cancel proxy hold timer */
+       zebra_evpn_neigh_stop_hold_timer(n);
+
        /* Free the VNI hash entry and allocated memory. */
        tmp_n = hash_release(zevpn->neigh_table, n);
        XFREE(MTYPE_NEIGH, tmp_n);