summaryrefslogtreecommitdiff
path: root/vrrpd/vrrp.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2019-11-01 18:07:56 +0000
committerQuentin Young <qlyoung@cumulusnetworks.com>2019-12-09 12:17:53 -0500
commit3cb543cf1e374197ff8d056cf8258be362fbdb5a (patch)
tree0ec66fe2e8da2a6104459731b2eafe5cfc926254 /vrrpd/vrrp.c
parent0dcbec72aa2b508c194ec4391b6d821ea996fb08 (diff)
vrrpd: handle failure to lookup parent iface
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'vrrpd/vrrp.c')
-rw-r--r--vrrpd/vrrp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c
index 42bb154f98..ab66e1a286 100644
--- a/vrrpd/vrrp.c
+++ b/vrrpd/vrrp.c
@@ -212,6 +212,15 @@ static struct vrrp_vrouter *vrrp_lookup_by_if_mvl(struct interface *mvl_ifp)
}
p = if_lookup_by_index(mvl_ifp->link_ifindex, VRF_DEFAULT);
+
+ if (!p) {
+ DEBUGD(&vrrp_dbg_zebra,
+ VRRP_LOGPFX
+ "Tried to lookup interface %d, parent of %s, but it doesn't exist",
+ mvl_ifp->link_ifindex, mvl_ifp->name);
+ return NULL;
+ }
+
uint8_t vrid = mvl_ifp->hw_addr[5];
return vrrp_lookup(p, vrid);