Subject: Re: ixgbe RSS not working as expected with 8021q and bridging

From: Eric Dumazet <[email-masked]>
Date: Fri, 11 Dec 2009 01:11:34 +0100

Le 11/12/2009 00:11, Eldon Koyle a écrit :
> We have built a firewall with two 10 Gbit interfaces (intel 82598EB) and
> are doing some testing.  A simple bridge between the two interfaces acts
> as expected with packets being distributed fairly evenly across all of
> the rx/tx queues.
> 
> We then switched to tagged vlans on both interfaces (10 vlans each, 8
> source and 8 dest addresses per vlan) and bridged eth0.N to eth1.N, and
> many of our queues (and CPUs) remained idle, and all of our VLAN traffic
> went out on the same tx queue.  Are multiple transmit queues supported
> with 802.1q?  How do we figure out what is causing some of our receive
> queues to be unused?
> 
> We are using 2.6.31 (from Debian) and ixgbe-2.0.44.14 .
> 

You need more recent kernel (2.6.32) to get multi queue support on vlans, sorry.

commit 2f8bc32b7a08502a79e0ccec8697000f2977f2fd
Author: Eric Dumazet <[email-masked]>
Date:   Thu Sep 3 02:19:58 2009 -0700

    vlan: enable multiqueue xmits

    vlan_dev_hard_start_xmit() & vlan_dev_hwaccel_hard_start_xmit()
    select txqueue number 0, instead of using index provided by
    skb_get_queue_mapping().

    This is not correct after commit 2e59af3dcbdf11635c03f
    [vlan: multiqueue vlan device] because
    txq->tx_packets  & txq->tx_bytes changes are performed on
    a single location, and not the right locking.

    Fix is to take the appropriate struct netdev_queue pointer

    Signed-off-by: Eric Dumazet <[email-masked]>
    Signed-off-by: David S. Miller <[email-masked]>