linux/net/8021q
Vasu Dev 669d3e0bab vlan: adds vlan_dev_select_queue
This is required to correctly select vlan tx queue for a driver
supporting multi tx queue with ndo_select_queue implemented since
currently selected vlan tx queue is unaligned to selected queue by
real net_devce ndo_select_queue.

Unaligned vlan tx queue selection causes thrash with higher vlan
tx lock contention for least fcoe traffic and wrong socket tx
queue_mapping for ixgbe having ndo_select_queue implemented.

-v2

As per Eric Dumazet<eric.dumazet@gmail.com> comments, mirrored
vlan net_device_ops to have them with and without vlan_dev_select_queue
and then select according to real dev ndo_select_queue present or not
for a vlan net_device. This is to completely skip vlan_dev_select_queue
calling for real net_device not supporting ndo_select_queue.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-03-24 11:11:38 -07:00
..
Kconfig vlan: Add GVRP support 2008-07-05 21:26:57 -07:00
Makefile vlan: uninline __vlan_hwaccel_rx 2008-07-08 03:23:36 -07:00
vlan_core.c net: Potential null skb->dev dereference 2010-03-18 21:16:45 -07:00
vlan_dev.c vlan: adds vlan_dev_select_queue 2010-03-24 11:11:38 -07:00
vlan_gvrp.c vlan: TCI related type and naming cleanups 2008-07-08 03:24:44 -07:00
vlan_netlink.c vlan: support "loose binding" to the underlying network device 2009-11-26 16:00:36 -08:00
vlan.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
vlan.h percpu: add __percpu sparse annotations to net 2010-02-16 23:05:38 -08:00
vlanproc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
vlanproc.h [VLAN]: Add a net argument to proc init and cleanup calls. 2008-04-16 00:51:12 -07:00