mirror of
https://github.com/torvalds/linux.git
synced 2026-09-12 20:53:03 +02:00
net/mlx5e: Fix ETS zero BW reporting when one TC holds 100%
When ETS TCs with zero bandwidth are configured, the driver programs the
firmware using an alternate representation. On get, it needs
to recognize that representation so those TCs can be translated back and
reported as 0% bandwidth.
The existing detection relied on the programmed bandwidth because it was
enough to identify this representation. However, when a single ETS TC
owns 100% of the bandwidth, its firmware representation becomes the
same as a strict-priority TC, causing zero-bandwidth ETS TCs to be
reported with non-zero bandwidth values.
Use the cached TSA instead to distinguish the ETS and strict-priority
cases.
Fixes: be0f161ef1 ("net/mlx5e: DCBNL, Implement tc with ets type and zero bandwidth")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Reviewed-by: Alex Lazar <alazar@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260902193224.3668743-1-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b3c79dee50
commit
e7ee897408
|
|
@ -148,7 +148,7 @@ static int mlx5e_dcbnl_ieee_getets(struct net_device *netdev,
|
|||
if (err)
|
||||
return err;
|
||||
|
||||
if (ets->tc_tx_bw[i] < MLX5E_MAX_BW_ALLOC &&
|
||||
if (priv->dcbx.tc_tsa[i] == IEEE_8021QAZ_TSA_ETS &&
|
||||
tc_group[i] == (MLX5E_LOWEST_PRIO_GROUP + 1))
|
||||
is_zero_bw_ets_tc = true;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user