mbox series

[v2,net-next,0/9] ethtool mm API consolidation

Message ID 20230418111459.811553-1-vladimir.oltean@nxp.com
Headers show
Series ethtool mm API consolidation | expand

Message

Vladimir Oltean April 18, 2023, 11:14 a.m. UTC
This series consolidates the behavior of the 2 drivers that implement
the ethtool MAC Merge layer by making NXP ENETC commit its preemptible
traffic classes to hardware only when MM TX is active (same as Ocelot).

Then, after resolving an issue with the ENETC driver, it restricts user
space from entering 2 states which don't make sense:

- pmac-enabled off tx-enabled on  verify-enabled *
- pmac-enabled *   tx-enabled off verify-enabled on

Then, it introduces a selftest (ethtool_mm.sh) which puts everything
together and tests all valid configurations known to me.

This is simultaneously the v2 of "[PATCH net-next 0/2] ethtool mm API
improvements":
https://lore.kernel.org/netdev/20230415173454.3970647-1-vladimir.oltean@nxp.com/
which had caused some problems to openlldp. Those were solved in the
meantime, see:
https://github.com/intel/openlldp/commit/11171b474f6f3cbccac5d608b7f26b32ff72c651

and of "[RFC PATCH net-next] selftests: forwarding: add a test for MAC
Merge layer":
https://lore.kernel.org/netdev/20230210221243.228932-1-vladimir.oltean@nxp.com/

Petr Machata (2):
  selftests: forwarding: sch_tbf_*: Add a pre-run hook
  selftests: forwarding: generalize bail_on_lldpad from mlxsw

Vladimir Oltean (7):
  net: enetc: fix MAC Merge layer remaining enabled until a link down
    event
  net: enetc: report mm tx-active based on tx-enabled and verify-status
  net: enetc: only commit preemptible TCs to hardware when MM TX is
    active
  net: enetc: include MAC Merge / FP registers in register dump
  net: ethtool: mm: sanitize some UAPI configurations
  selftests: forwarding: introduce helper for standard ethtool counters
  selftests: forwarding: add a test for MAC Merge layer

 drivers/net/ethernet/freescale/enetc/enetc.c  |  23 +-
 drivers/net/ethernet/freescale/enetc/enetc.h  |   5 +-
 .../ethernet/freescale/enetc/enetc_ethtool.c  |  94 +++++-
 .../net/ethernet/freescale/enetc/enetc_hw.h   |   3 +
 net/ethtool/mm.c                              |  10 +
 .../drivers/net/mlxsw/qos_headroom.sh         |   3 +-
 .../selftests/drivers/net/mlxsw/qos_lib.sh    |  28 --
 .../selftests/drivers/net/mlxsw/qos_pfc.sh    |   3 +-
 .../selftests/drivers/net/mlxsw/sch_ets.sh    |   3 +-
 .../drivers/net/mlxsw/sch_red_core.sh         |   1 -
 .../drivers/net/mlxsw/sch_red_ets.sh          |   2 +-
 .../drivers/net/mlxsw/sch_red_root.sh         |   2 +-
 .../drivers/net/mlxsw/sch_tbf_ets.sh          |   6 +-
 .../drivers/net/mlxsw/sch_tbf_prio.sh         |   6 +-
 .../drivers/net/mlxsw/sch_tbf_root.sh         |   6 +-
 .../testing/selftests/net/forwarding/Makefile |   1 +
 .../selftests/net/forwarding/ethtool_mm.sh    | 288 ++++++++++++++++++
 tools/testing/selftests/net/forwarding/lib.sh |  60 ++++
 .../net/forwarding/sch_tbf_etsprio.sh         |   4 +
 .../selftests/net/forwarding/sch_tbf_root.sh  |   4 +
 20 files changed, 486 insertions(+), 66 deletions(-)
 create mode 100755 tools/testing/selftests/net/forwarding/ethtool_mm.sh

Comments

patchwork-bot+netdevbpf@kernel.org April 21, 2023, 3:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 18 Apr 2023 14:14:50 +0300 you wrote:
> This series consolidates the behavior of the 2 drivers that implement
> the ethtool MAC Merge layer by making NXP ENETC commit its preemptible
> traffic classes to hardware only when MM TX is active (same as Ocelot).
> 
> Then, after resolving an issue with the ENETC driver, it restricts user
> space from entering 2 states which don't make sense:
> 
> [...]

Here is the summary with links:
  - [v2,net-next,1/9] net: enetc: fix MAC Merge layer remaining enabled until a link down event
    https://git.kernel.org/netdev/net-next/c/59be75db5966
  - [v2,net-next,2/9] net: enetc: report mm tx-active based on tx-enabled and verify-status
    https://git.kernel.org/netdev/net-next/c/153b5b1d030d
  - [v2,net-next,3/9] net: enetc: only commit preemptible TCs to hardware when MM TX is active
    https://git.kernel.org/netdev/net-next/c/827145392a4a
  - [v2,net-next,4/9] net: enetc: include MAC Merge / FP registers in register dump
    https://git.kernel.org/netdev/net-next/c/16a2c7634442
  - [v2,net-next,5/9] net: ethtool: mm: sanitize some UAPI configurations
    https://git.kernel.org/netdev/net-next/c/35b288d6e3d4
  - [v2,net-next,6/9] selftests: forwarding: sch_tbf_*: Add a pre-run hook
    https://git.kernel.org/netdev/net-next/c/54e906f1639e
  - [v2,net-next,7/9] selftests: forwarding: generalize bail_on_lldpad from mlxsw
    https://git.kernel.org/netdev/net-next/c/8fcac79270ca
  - [v2,net-next,8/9] selftests: forwarding: introduce helper for standard ethtool counters
    https://git.kernel.org/netdev/net-next/c/b5bf7126a6a0
  - [v2,net-next,9/9] selftests: forwarding: add a test for MAC Merge layer
    https://git.kernel.org/netdev/net-next/c/e6991384ace5

You are awesome, thank you!