]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx4_en: Force user priority by QP attribute
authorAmir Vadai <amirv@mellanox.com>
Wed, 4 Apr 2012 21:33:24 +0000 (21:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Apr 2012 09:08:03 +0000 (05:08 -0400)
commitec42aea5f8f4822ade57e766de70f98f170d38eb
tree4c16b13b5f118cfcf607195d1683ed01ba508b77
parent6851aab92529cfb2ad36ad8385a1a2ad02f9408d
net/mlx4_en: Force user priority by QP attribute

Instead of relying on HW to change schedule queue by UP, schedule
queue is fixed for a tx_ring, and UP in WQE is ignored in this aspect.  This
resolves two issues with untagged traffic:
1. untagged traffic has no UP in packet which is needed for QoS. The change
   above allows setting the schedule queue (and by that the UP) of such a stream.
2. BlueFlame uses the same field used by vlan tag. So forcing UP from QPC
   allows using BF for untagged but prioritized traffic.

In old firmware that force UP is not supported, untagged traffic will not subject to
QoS.

Because UP is set by QP, need to always have a tx ring per UP, even if pfcrx
module paramter is false.

Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_main.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/en_resources.c
drivers/net/ethernet/mellanox/mlx4/en_rx.c
drivers/net/ethernet/mellanox/mlx4/en_tx.c
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
include/linux/mlx4/qp.h