I believe your patch is correct to enable VLAN filtering when in promisc mode.
On Tue, 2010-01-26 at 00:22 -0700, György Szaniszló wrote: > Hi, > > Ok, I do not want to force my quick patch to the official ixgbe driver, > because I know, that there were a lot of discussions about this topic > (promiscuous mode and HW VLAN filtering). > > I want to use my patch only in my application. > In very short term my only need is a confirmation from the e1000 development, > that my pacht would work fine. > > In the future instead of forcing my quick patch, I would ask a feature > request for a modprobe parameter or a compilation flag in the driver, > to able to switch on/off the HW VLAN filtering in promiscuous mode. > > Thanks, > Gyorgy Szaniszlo > > ________________________________ > From: Nelson, Shannon [mailto:[email protected]] > Sent: Monday, January 25, 2010 6:32 PM > To: György Szaniszló > Subject: RE: [E1000-devel] Ixgbe and VLAN filtering > > Thanks for looking into this. Please post as a patch to the e1000-devel list > so that the primary ixgbe developers can get a look at it and get it into the > proper update path. > > sln > > > > > On Sun, 2010-01-24 at 07:48 -0800, György Szaniszló wrote: > > Hi, > > Googling e1000 devel list, I have realized, that the HW VLAN filtering is > turned off by ixgbe driver in promiscuous mode. > Promiscuous mode was set by the bridge used by my application. > > I have modified the ixgbe driver: enabled HW VLAN filtering in promiscuous > mode. > This behaviour is better for my application, as I exactly know the VLANs to > monitor, and performance is critical. > > Please confirm, that this is the right way to reach my goal. > My patch is attached. Do I have to do any other modification, or is this > enough? > > Thanks, > Gyorgy Szaniszlo > > --- ./ixgbe_main.c.orig 2010-01-24 15:38:57.454570244 +0100 > +++ ./ixgbe_main.c 2010-01-24 15:54:41.904571304 +0100 > @@ -2984,7 +2984,7 @@ > if (netdev->flags & IFF_PROMISC) { > hw->addr_ctrl.user_set_promisc = 1; > fctrl |= (IXGBE_FCTRL_UPE | IXGBE_FCTRL_MPE); > - vlnctrl &= ~IXGBE_VLNCTRL_VFE; > + vlnctrl |= IXGBE_VLNCTRL_VFE; > } else { > if (netdev->flags & IFF_ALLMULTI) { > fctrl |= IXGBE_FCTRL_MPE; > > > ________________________________ > > From: Nelson, Shannon [mailto:[email protected]] > Sent: Friday, January 22, 2010 9:30 PM > To: György Szaniszló > Subject: RE: [E1000-devel] Ixgbe and VLAN filtering > > > György, I apologize for not getting back to you very quickly on this. I was > hoping someone else on the 1000-devel list would answer as I don't do much > network config at that level, and I'm currently busy dealing with a couple of > other issues. > > sln > > On Thu, 2010-01-21 at 08:41 -0800, György Szaniszló wrote: > > Hi, > > I have performance problems with VLAN filtering. > > In my test traffic there are packets with 4 VLAN id-s: 11,12,21,22 > > I can change the test traffic load. > > NOT using vconfig and VLAN filtering, and bridging the original > eth1-eth4 interfaces I can handle 7 Gbit/sec traffic without drop at NIC > level (rx_missed_errors). > > (In my bridge there is a netfilter hook function, that drops all > packets, so I test the low-level RX performance of the network card + driver > + Linux) > > Now I want to bridge only the traffic of VLANs 21 and 22. This is > about 50% of the total traffic volume. > > Using vconfig, and set up VLANs 21 and 22 on the ethernet interfaces, > and bridging the eth.vlan interfaces, I can handle only 9 Gbit/sec traffic > (total traffic on all vlans 11,12,21,22) without drop. > > Assuming that HW vlan filtering uses only limited resources I > expected >12 Gbit/sec without drop. > > As you can see filtering out the traffic of vlan 11 and 12 requires > massive SW resources, so I assume that the traffic of vlan 11 and 12 are not > filtered out at HW level, maybe in the driver. > > How can I make sure, that vlan filtering is done in HW? > > What did I wrong? > > Should I explicitly forbid vlans 11 and 12 (setting up ethx.11 and > ethx.12 and shut down the those virtual interfaces)? > > Maybe bridge opens the inteface in promiscuous mode, and HW vlan > filterinng does not work in promiscuous mode? > > Please help me! > > Thanks, > > Gyorgy Szaniszlo > > > > > > > ________________________________ > > > From: Nelson, Shannon [mailto:[email protected]] > Sent: Thursday, December 17, 2009 6:40 PM > To: György Szaniszló > Cc: > [email protected]<mailto:[email protected]> > Subject: Re: [E1000-devel] Ixgbe and VLAN filtering > > > > > > On Thu, 2009-12-17 at 03:46 -0800, György Szaniszló wrote: > > Hi, > > Please help me to understand how VLAN filtering works with > ixgbe driver. > > I have the following setup > 2 x Intel(R) 10 Gigabit XF SR Dual Port Server Adapter, 82598 > controller > OpenSuse 11.2, 64 bit, kernel version: 2.6.31.5 > ixgbe-2.0.44.14-NAPI > > I have 4 ixgbe interfaces (eth1, eth2, eth3, eth4), and I > would like to bridge them. > I would like to bridge only some specified VLANs (101 and > 102). > > I have to cope with mass traffic, so effective VLAN filtering > is very important. > I would like to use the 82598 controller's HW VLAN filtering. > > I use the following script: > > input_eths="eth1 eth2 eth3 eth4" > input_vlans="101 102" > > echo "" > echo " Setting up input interfaces ..." > for eth in $input_eths > do > echo " $eth" > ifconfig $eth 0.0.0.0 up > for vlan in $input_vlans > do > vconfig add $eth $vlan > ifconfig $eth.$vlan up > done > done > > echo "" > echo " Setting up bridge ..." > brctl addbr br0 > for eth in $input_eths > do > for vlan in $input_vlans > do > brctl addif br0 $eth.$vlan > done > done > ifconfig br0 up > > My question is the following: > If I use the vconfig utility to specify VLANs, does it result > HW vlan filtering in the 82598 Controller, > or VLAN filtering is expressen only in the Linux (in the > ixgbe driver or in the Linux network stack)? > > Thanks, > Gyorgy Szaniszlo > Ericsson Hungary Ltd. > > > > > > Yes, when using vconfig, the ixgbe driver is given the vlan > information and sets the appropriate bits in the HW to do the filtering in > the hardware. > > sln > > > ====================================================================== > Mr. Shannon Nelson LAN Access Division, Intel Corp. > [email protected]<mailto:[email protected]> > I don't speak for Intel > (503) 712-7659 Parents can't afford to be > squeamish. > > > > > > > ====================================================================== > Mr. Shannon Nelson LAN Access Division, Intel Corp. > [email protected]<mailto:[email protected]> I > don't speak for Intel > (503) 712-7659 Parents can't afford to be squeamish. > > > > -- Jesse Brandeburg This email sent via Evolution, powered by Linux ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
