diff --git a/sys/dev/vx/if_vx.c b/sys/dev/vx/if_vx.c index 468fc4e73942..98aa192c1b82 100644 --- a/sys/dev/vx/if_vx.c +++ b/sys/dev/vx/if_vx.c @@ -712,7 +712,8 @@ again: * bleah! */ - if ((eh->ether_dhost[0] & 1) == 0 /* !mcast and !bcast */ + if (!(ifp->if_flags & IFF_PROMISC) + && (eh->ether_dhost[0] & 1) == 0 /* !mcast and !bcast */ && bcmp(eh->ether_dhost, IFP2ENADDR(sc->ifp), ETHER_ADDR_LEN)!=0) { m_freem(m); return;