IXGBE 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. IXGBE doesn't check the mode when reporting the available number of queues. If a queue larger than 64 is used in default mode, the TX packets will be dropped silently.
This patchset: - Modifies the device info to show the correct maximum number of available TX queues, depending on the mode. - 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. - It also changes the order of where the dev_conf parameters are copied into the dev structure so that the correct maximum number of queues is reported for the correct mode. Changes in v4: - Split the patch in three smaller patches - Updated release notes document Changes in v3: - Fixed wrong set of TX queues for 82596EB Changes in v2: - Reorder memcpy of device configuration in rte_eth_dev_configure(), so function gets the correct maximum number of queues (depending on the operation mode), before checking the requested number of queues. - Renamed new macro - Reworded/wrapped commit message Pablo de Lara (1): ethdev: copy device configuration earlier Wenzhuo Lu (2): ixgbe: fix incorrect tx queue number assignment ixgbe: fix incorrect max tx queue number doc/guides/rel_notes/release_16_04.rst | 6 ++++++ drivers/net/ixgbe/ixgbe_ethdev.c | 22 +++++++++++++++++++++- drivers/net/ixgbe/ixgbe_ethdev.h | 1 + lib/librte_ether/rte_ethdev.c | 6 +++--- 4 files changed, 31 insertions(+), 4 deletions(-) -- 2.5.5