diff --git a/sys/arch/i386/isa/if_ed.c b/sys/arch/i386/isa/if_ed.c index 80748d48c210..8384c3af4247 100644 --- a/sys/arch/i386/isa/if_ed.c +++ b/sys/arch/i386/isa/if_ed.c @@ -20,7 +20,7 @@ */ /* - * $Id: if_ed.c,v 1.12 1993/12/10 10:57:47 cgd Exp $ + * $Id: if_ed.c,v 1.13 1993/12/12 20:24:37 hpeyerl Exp $ */ /* @@ -2089,14 +2089,13 @@ ed_get_packet(sc, buf, len) * Note that the interface cannot be in promiscuous mode if * there are no BPF listeners. And if we are in promiscuous * mode, we have to check if this packet is really ours. - * - * XXX This test does not support multicasts. */ if ((sc->arpcom.ac_if.if_flags & IFF_PROMISC) && bcmp(eh->ether_dhost, sc->arpcom.ac_enaddr, sizeof(eh->ether_dhost)) != 0 && bcmp(eh->ether_dhost, etherbroadcastaddr, - sizeof(eh->ether_dhost)) != 0) { + sizeof(eh->ether_dhost)) != 0 && + (eh->ether_dhost[0] & 1) == 0) { m_freem(head); return; diff --git a/sys/dev/isa/if_ed.c b/sys/dev/isa/if_ed.c index 80748d48c210..8384c3af4247 100644 --- a/sys/dev/isa/if_ed.c +++ b/sys/dev/isa/if_ed.c @@ -20,7 +20,7 @@ */ /* - * $Id: if_ed.c,v 1.12 1993/12/10 10:57:47 cgd Exp $ + * $Id: if_ed.c,v 1.13 1993/12/12 20:24:37 hpeyerl Exp $ */ /* @@ -2089,14 +2089,13 @@ ed_get_packet(sc, buf, len) * Note that the interface cannot be in promiscuous mode if * there are no BPF listeners. And if we are in promiscuous * mode, we have to check if this packet is really ours. - * - * XXX This test does not support multicasts. */ if ((sc->arpcom.ac_if.if_flags & IFF_PROMISC) && bcmp(eh->ether_dhost, sc->arpcom.ac_enaddr, sizeof(eh->ether_dhost)) != 0 && bcmp(eh->ether_dhost, etherbroadcastaddr, - sizeof(eh->ether_dhost)) != 0) { + sizeof(eh->ether_dhost)) != 0 && + (eh->ether_dhost[0] & 1) == 0) { m_freem(head); return;