diff --git a/pimd/pim_assert.c b/pimd/pim_assert.c index f10ebe2ae0..2cc98f7329 100644 --- a/pimd/pim_assert.c +++ b/pimd/pim_assert.c @@ -303,6 +303,15 @@ int pim_assert_recv(struct interface *ifp, struct pim_neighbor *neigh, pim_ifp = ifp->info; assert(pim_ifp); + + if (pim_ifp->pim_passive_enable) { + if (PIM_DEBUG_PIM_PACKETS) + zlog_debug( + "skip receiving PIM message on passive interface %s", + ifp->name); + return 0; + } + ++pim_ifp->pim_ifstat_assert_recv; return dispatch_assert(ifp, msg_source_addr, sg.grp, msg_metric);