mirror_frr/vrrpd
Quentin Young 2681134b85 vrrpd: search all vr's for mvl_ifp to null
Previous patch was not sufficient to make sure the pointers get nulled.
Reason being is that vrrp_lookup_by_if_mvl() follows the link_ifindex on
the provided interface to acquire the base ifp, which is then used to
lookup the VR. However, because FRR's interface management is straight
up insane, it's possible that we delete the base interface before its
children. When this happens, link_ifindex is still valid for the macvlan
device but we have no interface corresponding to that ifindex, so our
lookup will fail. Consequently vrrp_lookup_by_if_mvl() can't be used if
we are handling deletion of any sort. Instead we have to loop through
every VR and check the pointers.

Also, there's no null check on the mvl_ifp pointer in vrrp_shutdown(),
and even though we log that we're returning early from it, we actually
don't. Do both of these things.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2020-03-05 14:22:49 -05:00
..
.gitignore vrrpd: add .gitignore 2019-05-17 00:27:08 +00:00
Makefile vrrpd: initial commit 2019-05-17 00:27:08 +00:00
subdir.am doc: rename man pages to frr-* 2020-01-15 14:05:11 +01:00
vrrp_arp.c *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
vrrp_arp.h vrrpd: fix headers 2019-05-17 00:27:08 +00:00
vrrp_debug.c vrrpd, lib: style fixes 2019-05-17 00:27:08 +00:00
vrrp_debug.h vrrpd: add support for configuration writing 2019-05-17 00:27:08 +00:00
vrrp_main.c vrrpd, yang: cleanup vrrp nb conversion 2019-12-09 16:05:01 -05:00
vrrp_ndisc.c *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
vrrp_ndisc.h vrrpd: fix headers 2019-05-17 00:27:08 +00:00
vrrp_northbound.c vrrpd, yang: cleanup vrrp nb conversion 2019-12-09 16:05:01 -05:00
vrrp_packet.c *: generously apply const 2019-12-02 15:01:29 +01:00
vrrp_packet.h *: generously apply const 2019-12-02 15:01:29 +01:00
vrrp_vty.c vrrpd, yang: cleanup vrrp nb conversion 2019-12-09 16:05:01 -05:00
vrrp_vty.h vrrpd: northbound conversion 2019-12-09 14:39:18 -05:00
vrrp_zebra.c vrrpd: add vrf support 2019-12-09 12:17:53 -05:00
vrrp_zebra.h *: Add infrastructure to support zapi interface callbacks 2019-09-19 13:34:06 -04:00
vrrp.c vrrpd: search all vr's for mvl_ifp to null 2020-03-05 14:22:49 -05:00
vrrp.h vrrpd, yang: cleanup vrrp nb conversion 2019-12-09 16:05:01 -05:00