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 > _at__at_ -1497,14 +1497,14 _at__at_ > 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;Received on Thu Nov 11 2004 - 10:28:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:21 UTC