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.
------------------------------------------------------------------------------
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