ixgbe: fix dropping packets from unsupported Tx queues
authorWenzhuo Lu <wenzhuo.lu@intel.com>
Thu, 24 Mar 2016 15:22:04 +0000 (15:22 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 25 Mar 2016 18:03:48 +0000 (19:03 +0100)
commit96c0450dff86b54834b2ac212feac60382659caa
treeba7c5c5b0ef358f908fed78c35944f31780429a6
parent5db6b738c5472264f092c1a3b26d5707a4afd145
ixgbe: fix dropping packets from unsupported Tx queues

Ixgbe HW supports 128 TX queues. However, the full 128 queues are only
available in VT and DCB mode.  In normal default "none" mode (VT/DCB off)
the maximum number of available queues is only 64.

The driver doesn't check the mode when reporting the available
number of queues, allowing more that 64 queues to be used in all cases.
If a queue no. >=64 is used in default mode, the TX packets will be dropped
silently.

This change adds a check to forbid using a queue number larger than 64
during device configuration (in default mode), so that the problem is
reported as early as possible.

Fixes: 27b609cbd1c6 ("ethdev: move the multi-queue mode check to specific drivers")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
doc/guides/rel_notes/release_16_04.rst
drivers/net/ixgbe/ixgbe_ethdev.c
drivers/net/ixgbe/ixgbe_ethdev.h