Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Nov 2004 13:28:46 +0200
From:      astesin@ukrtelecom.net
To:        rwatson@freebsd.org
Cc:        mike@sentex.net
Subject:   Re[3]: Re[2]: em0, VLAN and bpf(?) trouble w/RELENG_5
Message-ID:  <1152675CA9EDD71187130002B3CE5ADA10661568@hoexc010.ukrtelecom.net>

next in thread | raw e-mail | index | archive | help
Dear Robert, dear Mike,

> Try the attached.  It looks like the sender is actually 
> sending out ISL-encapsulated packets rather than using the 
> normal VLAN trunk encapsulation (?).  The patch below reverts 
> part of a change between the 4x and 5.x drivers that modifies 
> the behavior of the if_em driver in the presence of 
> promiscuous mode.  The change was part of a more broad commit 
> described as follows:
> 
>   revision 1.45   date: 2004/09/01 23:22:41;  author: pdeuskar;  state:
Exp;  lines: +60 -18

What's interesting: here I have revision
/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.44.2.3 2004/11/08 20:06:14 scottl Exp
$*/

Note 1.44.2.3 and date. System is FreeBSD 5.3-STABLE #1: Wed Nov 10 10:22:08
EET 2004

Supfile says: *default release=cvs tag=RELENG_5

Make update was 3 hours ago, sources are up to date (just checked it again).

Do I have the bits which are intended to be here?

Looking at the file contents at the same place in the code, I see the very
same code like yours (quoted below). Ok I'm putting #if 0 there manually and
will check it once again.

> RCS file: /home/ncvs/src/sys/dev/em/if_em.c,v
> retrieving revision 1.51
> diff -u -r1.51 if_em.c
> --- if_em.c	3 Nov 2004 14:11:18 -0000	1.51
> +++ if_em.c	11 Nov 2004 00:04:56 -0000
> @@ -1497,14 +1497,14 @@
>  	if (ifp->if_flags & IFF_PROMISC) {
>  		reg_rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE);
>  		E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl);
> -		
> +#if 0
>  		/* Disable VLAN stripping in promiscous mode 
>  		 * This enables bridging of vlan tagged frames to occur 
>  		 * and also allows vlan tags to be seen in tcpdump
>  		 */
>  		ctrl &= ~E1000_CTRL_VME; 
>  		E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);
> -
> +#endif
>  	} else if (ifp->if_flags & IFF_ALLMULTI) {
>  		reg_rctl |= E1000_RCTL_MPE;
>  		reg_rctl &= ~E1000_RCTL_UPE;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1152675CA9EDD71187130002B3CE5ADA10661568>