i40e: Fix queue-to-TC mapping on Tx
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Wed, 2 Jun 2021 00:47:03 +0000 (00:47 +0000)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 23 Jul 2021 14:44:48 +0000 (07:44 -0700)
commit89ec1f0886c127c7e41ac61a6b6d539f4fb2510b
tree9c2441138fe61591008b7dee7a315ec4f5d7e176
parentdc614c46178b0b89bde86ac54fc687a28580d2b7
i40e: Fix queue-to-TC mapping on Tx

In SW DCB mode the packets sent receive incorrect UP tags. They are
constructed correctly and put into tx_ring, but UP is later remapped by
HW on the basis of TCTUPR register contents according to Tx queue
selected, and BW used is consistent with the new UP values. This is
caused by Tx queue selection in kernel not taking into account DCB
configuration. This patch fixes the issue by implementing the
ndo_select_queue NDO callback.

Fixes: fd0a05ce74ef ("i40e: transmit, receive, and NAPI")
Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Imam Hassan Reza Biswas <imam.hassan.reza.biswas@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40e/i40e_txrx.h