]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: EVPN DAD trigger was causing zebra to crash
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Fri, 15 Mar 2019 16:13:42 +0000 (09:13 -0700)
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Fri, 15 Mar 2019 16:29:25 +0000 (09:29 -0700)
commitd346c2e955ced1b7f579662365bf69cee4c2078c
tree4c61b0f44a05e210eda14f99e4284c41e3b0f912
parent86dd09667aad80fbd7f3e8d878f1733ebeda4f20
zebra: EVPN DAD trigger was causing zebra to crash

Duplicate address detection and recovery was relying on the l2-vni backptr
in the neighbor entry which was simply not initialized resulting in
a NULL pointer access in a setup with dup-addressed VMs -
VM1:{IP1,M1} and VM2:{IP1,M2}

Call stack:
(gdb) bt 6
    at lib/sigevent.c:249
    nbr=nbr@entry=0x559347f901d0, vtep_ip=..., vtep_ip@entry=..., do_dad=do_dad@entry=true,
    is_dup_detect=is_dup_detect@entry=0x7ffc7f6be59f, is_local=is_local@entry=true)
    at ./lib/ipaddr.h:86
    ip=0x7ffc7f6be6f0, ifp=0x559347f901d0, zvni=0x559347f86800) at zebra/zebra_vxlan.c:3152
(More stack frames follow...)
(gdb) p nbr->zvni
$8 = (zebra_vni_t *) 0x0 <<<<<<<<<<<<<<<<<<<<
(gdb)

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