When macsec is offloaded to a NIC, we can take advantage of some of its features, mainly TSO and checksumming. This increases performance significantly. Some features cannot be inherited, because they require additional ops that aren't provided by the macsec netdevice.
We also need to inherit TSO limits from the lower device, like VLAN/macvlan devices do.
This series also moves the existing macsec offload selftest to the netdevsim selftests before adding tests for the new features. To allow this new selftest to work, netdevsim's hw_features are expanded.
Sabrina Dubroca (8): netdevsim: add more hw_features selftests: netdevsim: add a test checking ethtool features macsec: add some of the lower device's features when offloading macsec: clean up local variables in macsec_notify macsec: inherit lower device's TSO limits when offloading selftests: move macsec offload tests from net/rtnetlink to drivers/net/netdvesim selftests: netdevsim: add test toggling macsec offload selftests: netdevsim: add ethtool features to macsec offload tests
drivers/net/macsec.c | 64 +++++++--- drivers/net/netdevsim/netdev.c | 6 +- .../selftests/drivers/net/netdevsim/Makefile | 2 + .../selftests/drivers/net/netdevsim/config | 1 + .../drivers/net/netdevsim/ethtool-features.sh | 31 +++++ .../drivers/net/netdevsim/macsec-offload.sh | 117 ++++++++++++++++++ tools/testing/selftests/net/rtnetlink.sh | 68 ---------- 7 files changed, 200 insertions(+), 89 deletions(-) create mode 100644 tools/testing/selftests/drivers/net/netdevsim/ethtool-features.sh create mode 100755 tools/testing/selftests/drivers/net/netdevsim/macsec-offload.sh