From: Donald Sharp Date: Tue, 13 Jun 2017 17:49:38 +0000 (-0400) Subject: pimd: Ensure packet received on vrf interface is configured for pim X-Git-Tag: frr-4.0-dev~468^2~53 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=a5b6bd2be38e943f9a028e7025e191bb92b25c94;p=mirror_frr.git pimd: Ensure packet received on vrf interface is configured for pim In a vrf configuration, when we receive a pim packet we lookup the correct incoming interface. There exists a chance that the correct incoming interface has not been configured to use pim yet. gracefully bow out and do nothing with the packet. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c index 80ce6f066..5b9d6effc 100644 --- a/pimd/pim_pim.c +++ b/pimd/pim_pim.c @@ -327,7 +327,13 @@ static int pim_sock_read(struct thread *t) * it's the right interface because we bind to it */ ifp = if_lookup_by_index(ifindex, pim_ifp->pim->vrf_id); - + if (!ifp->info) { + if (PIM_DEBUG_PIM_PACKETS) + zlog_debug( + "%s: Received incoming pim packet on interface not yet configured for pim %s", + __PRETTY_FUNCTION__, ifp->name); + goto done; + } int fail = pim_pim_packet(ifp, buf, len); if (fail) { if (PIM_DEBUG_PIM_PACKETS)