mlxsw: spectrum: Include RFC-2819 counters in stats length
authorPetr Machata <petrm@mellanox.com>
Thu, 9 Aug 2018 08:59:12 +0000 (11:59 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Aug 2018 17:36:10 +0000 (10:36 -0700)
The function mlxsw_sp_port_get_sset_count() is supposed to return the
total number of ethtool strings that mlxsw supports. Specifically for
names of statistic counters (the only string type that mlxsw supports
as of now), that number is stored in MLXSW_SP_PORT_ETHTOOL_STATS_LEN.
However, when adding RFC-2891 counters, that define wasn't updated to
include the new counters. As a result, ethtool snips out the counters
towards the end of the list, which contains per-TC counters, and only
the first three traffic classes end up being reported.

Fix by adding MLXSW_SP_PORT_HW_RFC_2819_STATS_LEN as appropriate.

Fixes: 1222d15a01c7 ("mlxsw: spectrum: Expose counters for various packet sizes")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum.c

index 6a02353..264e3aa 100644 (file)
@@ -1971,6 +1971,7 @@ static struct mlxsw_sp_port_hw_stats mlxsw_sp_port_hw_tc_stats[] = {
 #define MLXSW_SP_PORT_HW_TC_STATS_LEN ARRAY_SIZE(mlxsw_sp_port_hw_tc_stats)
 
 #define MLXSW_SP_PORT_ETHTOOL_STATS_LEN (MLXSW_SP_PORT_HW_STATS_LEN + \
+                                        MLXSW_SP_PORT_HW_RFC_2819_STATS_LEN + \
                                         (MLXSW_SP_PORT_HW_PRIO_STATS_LEN + \
                                          MLXSW_SP_PORT_HW_TC_STATS_LEN) * \
                                         IEEE_8021QAZ_MAX_TCS)