On 9/18/25 4:02 AM, Hangbin Liu wrote:
> diff --git
> a/tools/testing/selftests/drivers/net/bonding/bond_ipsec_offload.sh
> b/tools/testing/selftests/drivers/net/bonding/bond_ipsec_offload.sh
> new file mode 100755
> index 000000000000..4b19949a4c33
> --- /dev/null
> +++ b/tools/testing/selftests/drivers/net/bonding/bond_ipsec_offload.sh
> @@ -0,0 +1,154 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +
> +# IPsec over bonding offload test:
> +#
> +# +----------------+
> +# | bond0 |
> +# | | |
> +# | eth0 eth1 |
> +# +---+-------+----+
> +#
> +# We use netdevsim instead of physical interfaces
> +#-------------------------------------------------------------------
> +# Example commands
> +# ip x s add proto esp src 192.0.2.1 dst 192.0.2.2 \
> +# spi 0x07 mode transport reqid 0x07 replay-window 32 \
> +# aead 'rfc4106(gcm(aes))' 1234567890123456dcba 128 \
> +# sel src 192.0.2.1/24 dst 192.0.2.2/24
> +# offload dev bond0 dir out
> +# ip x p add dir out src 192.0.2.1/24 dst 192.0.2.2/24 \
> +# tmpl proto esp src 192.0.2.1 dst 192.0.2.2 \
> +# spi 0x07 mode transport reqid 0x07
> +#
> +#-------------------------------------------------------------------
> +
> +lib_dir=$(dirname "$0")
> +source "$lib_dir"/../../../net/lib.sh
> +algo="aead rfc4106(gcm(aes)) 0x3132333435363738393031323334353664636261 128"
> +srcip=192.0.2.1
> +dstip=192.0.2.2
> +ipsec0=/sys/kernel/debug/netdevsim/netdevsim0/ports/0/ipsec
> +ipsec1=/sys/kernel/debug/netdevsim/netdevsim0/ports/1/ipsec
> +active_slave=""
> +
> +active_slave_changed()
> +{
> + local old_active_slave=$1
> + local new_active_slave=$(ip -n ${ns} -d -j link show bond0 | \
> + jq -r ".[].linkinfo.info_data.active_slave")
shell check is not super happy about the lack of double quotes around
the variables (above and many places below) and about declaring the
variable and assigning it to a subshell in the same statement.
I think it's better to address such warnings for consistency.
Thanks,
Paolo