This short series adds support for VLANs in MACsec devices when offload mode is enabled. This allows VLAN netdevs on top of MACsec netdevs to function, which accidentally used to be the case in the past, but was broken. This series adds back proper support.
As part of this, the existing nsim-only MACsec offload tests were translated to Python so they can run against real HW and new traffic-based tests were added for VLAN filter propagation, since there's currently no uAPI to check VLAN filters. --- V6: - Resurrected nsim debugfs file for VLAN filters. - Switched to WARN_ON_ONCE in nsim, which is always compiled in. - Tweaked tests to check the nsim VLAN filter file on nsim. - Disabled ping on nsim in offload mode, data plane doesn't work. - Added CONFIG_VLAN_8021Q to the test config. V5: https://lore.kernel.org/netdev/[email protected]/T/#u - Merged tests and macsec lib in a single file. - Fixed Python linter issues. - Added CONFIG_MACSEC to tools/testing/selftests/drivers/net/config V4: - Migrated nsim-only macsec tests to Python, usable against real hw. - Ran these tests against both nsim and mlx5. - Gave up on nsim patches since the tests no longer use them. V3: https://lore.kernel.org/netdev/[email protected]/t/#u - Moved back to net. - Added proper rollback support for VLAN filters in case of failure. - Added VLAN as a requirement for the new macsec tests. V2: https://lore.kernel.org/netdev/[email protected]/ - Sent to net-next instead of net because of apparent complexity. - Changed VLAN filtering to only function in offload mode. - Added tests. V1: https://lore.kernel.org/netdev/[email protected]/ Cosmin Ratiu (4): selftests: Migrate nsim-only MACsec tests to Python nsim: Add support for VLAN filters selftests: Add MACsec VLAN propagation traffic test macsec: Support VLAN-filtering lower devices drivers/net/macsec.c | 44 ++- drivers/net/netdevsim/netdev.c | 65 +++- drivers/net/netdevsim/netdevsim.h | 8 + tools/testing/selftests/drivers/net/Makefile | 1 + tools/testing/selftests/drivers/net/config | 2 + .../selftests/drivers/net/lib/py/env.py | 9 + tools/testing/selftests/drivers/net/macsec.py | 330 ++++++++++++++++++ .../selftests/drivers/net/netdevsim/Makefile | 1 - .../drivers/net/netdevsim/macsec-offload.sh | 117 ------- 9 files changed, 452 insertions(+), 125 deletions(-) create mode 100755 tools/testing/selftests/drivers/net/macsec.py delete mode 100755 tools/testing/selftests/drivers/net/netdevsim/macsec-offload.sh -- 2.53.0
