Subject: Re: permiscuous mode on vr driver causes lots of (unwarranted)
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Laine Stump <lainestump@rcn.com>
List: current-users
Date: 09/19/1999 23:43:54
At 12:10 PM 9/19/99 -0700, Jason Thorpe wrote:
>Can you please try the following patch, and let me know if it fixes the
>problem?

Yep, it works. Once you change ETHER_IS_MULTI to ETHER_IS_MULTICAST, that is.

Thanks!

>
>        -- Jason R. Thorpe <thorpej@nas.nasa.gov>
>
>Index: if_vr.c
>===================================================================
>RCS file: /cvsroot/syssrc/sys/dev/pci/if_vr.c,v
>retrieving revision 1.25
>diff -c -r1.25 if_vr.c
>*** if_vr.c	1999/08/14 11:23:39	1.25
>--- if_vr.c	1999/09/19 19:09:13
>***************
>*** 878,885 ****
>  		if (ifp->if_bpf) {
>  			bpf_mtap(ifp->if_bpf, m);
>  			if ((ifp->if_flags & IFF_PROMISC) != 0 &&
>! 			    (rxstat & (VR_RXSTAT_RX_PHYS | VR_RXSTAT_RX_BROAD |
>! 				       VR_RXSTAT_RX_MULTI)) == 0) {
>  				m_freem(m);
>  				continue;
>  			}
>--- 878,886 ----
>  		if (ifp->if_bpf) {
>  			bpf_mtap(ifp->if_bpf, m);
>  			if ((ifp->if_flags & IFF_PROMISC) != 0 &&
>! 			    ETHER_IS_MULTI(eh->ether_dhost) == 0 &&
>! 			    memcmp(eh->ether_dhost, LLADDR(ifp->if_sadl),
>! 				   ETHER_ADDR_LEN) != 0) {
>  				m_freem(m);
>  				continue;
>  			}
>