summaryrefslogtreecommitdiff
path: root/sys/net/if_ethersubr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r--sys/net/if_ethersubr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 53c744d7d09e..af1421d29592 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -677,7 +677,8 @@ ether_demux(ifp, eh, m)
if ((ifp->if_flags & IFF_PROMISC) != 0
&& (eh->ether_dhost[0] & 1) == 0
&& bcmp(eh->ether_dhost,
- IFP2AC(ifp)->ac_enaddr, ETHER_ADDR_LEN) != 0) {
+ IFP2AC(ifp)->ac_enaddr, ETHER_ADDR_LEN) != 0
+ && (ifp->if_flags && IFF_PPROMISC) == 0) {
m_freem(m);
return;
}
@@ -1076,4 +1077,3 @@ ether_resolvemulti(ifp, llsa, sa)
return EAFNOSUPPORT;
}
}
-