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]
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] I don't speak for Intel
(503) 712-7659 Parents can't afford to be squeamish.
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
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