2025-09-02, 07:26:02 +0000, Hangbin Liu wrote:
diff --git a/tools/testing/selftests/net/vdev_offload.sh b/tools/testing/selftests/net/vdev_offload.sh new file mode 100755 index 000000000000..78fc212efd4a --- /dev/null +++ b/tools/testing/selftests/net/vdev_offload.sh @@ -0,0 +1,176 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0
+# shellcheck disable=SC1091 +source lib.sh
+# Set related offload on lower deivces and check if upper devices re-compute
nit: s/deivces/devices/
+# Some features are fixed on veth interface. Just list here in case we have a +# better way to test in future. +set_offload() +{
[...]
+check_xfrm() +{
- local dev=$1
- local src=192.0.2.1
- local dst=192.0.2.2
- local key="0x3132333435363738393031323334353664636261"
- RET=0
- ip -n "$ns" xfrm state flush
- ip -n "$ns" xfrm state add proto esp src "$src" dst "$dst" spi 9 \
mode transport reqid 42 aead "rfc4106(gcm(aes))" "$key" 128 \
sel src "$src"/24 dst "$dst"/24 offload dev "$dev" dir out
It's maybe not something you would expect, but this codepath will not check that NETIF_F_HW_ESP is set on $dev (you can verify that by running "ip xfrm state add ... offload ..." on the same bond+netdevsim combination before/after toggling esp-hw-offload on/off for the bond). Why not use __check_offload again for this feature?
- # shellcheck disable=SC2034
- ip -n "$ns" xfrm state list | grep -q "crypto offload parameters: dev $dev dir" || RET=1
- log_test "$dev" "xfrm offload"
+}