em0, VLAN and bpf(?) trouble w/RELENG_5
astesin at ukrtelecom.net
astesin at ukrtelecom.net
Thu Nov 11 03:28:52 PST 2004
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;
More information about the freebsd-current
mailing list