[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <970039e7-1c13-e6d7-cb70-53af92eb9958@redhat.com>
Date: Thu, 15 Sep 2022 10:09:05 -0400
From: Jonathan Toppins <jtoppins@...hat.com>
To: Hangbin Liu <liuhangbin@...il.com>, netdev@...r.kernel.org
Cc: Jay Vosburgh <j.vosburgh@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
David Ahern <dsahern@...il.com>
Subject: Re: [PATCH net] selftests/bonding: add a test for bonding lladdr
target
On 9/15/22 05:42, Hangbin Liu wrote:
> This is a regression test for commit 592335a4164c ("bonding: accept
> unsolicited NA message") and commit b7f14132bf58 ("bonding: use unspecified
> address if no available link local address"). When the bond interface
> up and no available link local address, unspecified address(::) is used to
> send the NS message. The unsolicited NA message should also be accepted
> for validation.
>
> Signed-off-by: Hangbin Liu <liuhangbin@...il.com>
Acked-by: Jonathan Toppins <jtoppins@...hat.com>
> ---
> .../selftests/drivers/net/bonding/Makefile | 1 +
> .../drivers/net/bonding/bond-lladdr-target.sh | 65 +++++++++++++++++++
> 2 files changed, 66 insertions(+)
> create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-lladdr-target.sh
>
> diff --git a/tools/testing/selftests/drivers/net/bonding/Makefile b/tools/testing/selftests/drivers/net/bonding/Makefile
> index ab6c54b12098..d209f7a98b6c 100644
> --- a/tools/testing/selftests/drivers/net/bonding/Makefile
> +++ b/tools/testing/selftests/drivers/net/bonding/Makefile
> @@ -2,5 +2,6 @@
> # Makefile for net selftests
>
> TEST_PROGS := bond-break-lacpdu-tx.sh
> +TEST_PROGS += bond-lladdr-target.sh
>
> include ../../../lib.mk
> diff --git a/tools/testing/selftests/drivers/net/bonding/bond-lladdr-target.sh b/tools/testing/selftests/drivers/net/bonding/bond-lladdr-target.sh
> new file mode 100755
> index 000000000000..89af402fabbe
> --- /dev/null
> +++ b/tools/testing/selftests/drivers/net/bonding/bond-lladdr-target.sh
> @@ -0,0 +1,65 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +
> +# Regression Test:
> +# Verify bond interface could up when set IPv6 link local address target.
> +#
> +# +----------------+
> +# | br0 |
> +# | | | sw
> +# | veth0 veth1 |
> +# +---+-------+----+
> +# | |
> +# +---+-------+----+
> +# | veth0 veth1 |
> +# | | | host
> +# | bond0 |
> +# +----------------+
> +#
> +# We use veths instead of physical interfaces
> +sw="sw-$(mktemp -u XXXXXX)"
> +host="ns-$(mktemp -u XXXXXX)"
> +
> +cleanup()
> +{
> + ip netns del $sw
> + ip netns del $host
> +}
> +
> +trap cleanup 0 1 2
> +
> +ip netns add $sw
> +ip netns add $host
> +
> +ip -n $host link add veth0 type veth peer name veth0 netns $sw
> +ip -n $host link add veth1 type veth peer name veth1 netns $sw
> +
> +ip -n $sw link add br0 type bridge
> +ip -n $sw link set br0 up
> +sw_lladdr=$(ip -n $sw addr show br0 | awk '/fe80/{print $2}' | cut -d'/' -f1)
> +# sleep some time to make sure bridge lladdr pass DAD
> +sleep 2
> +
> +ip -n $host link add bond0 type bond mode 1 ns_ip6_target ${sw_lladdr} \
> + arp_validate 3 arp_interval 1000
> +# add a lladdr for bond to make sure there is a route to target
> +ip -n $host addr add fe80::beef/64 dev bond0
> +ip -n $host link set bond0 up
> +ip -n $host link set veth0 master bond0
> +ip -n $host link set veth1 master bond0
> +
> +ip -n $sw link set veth0 master br0
> +ip -n $sw link set veth1 master br0
> +ip -n $sw link set veth0 up
> +ip -n $sw link set veth1 up
> +
> +sleep 5
> +
> +rc=0
> +if ip -n $host link show bond0 | grep -q LOWER_UP; then
> + echo "PASS"
> +else
> + echo "FAIL"
> + rc=1
> +fi
> +exit $rc
Powered by blists - more mailing lists