[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <21315.1680235220@famine>
Date: Thu, 30 Mar 2023 21:00:20 -0700
From: Jay Vosburgh <jay.vosburgh@...onical.com>
To: Hangbin Liu <liuhangbin@...il.com>
cc: netdev@...r.kernel.org, "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Jonathan Toppins <jtoppins@...hat.com>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>, Liang Li <liali@...hat.com>
Subject: Re: [PATCH net 3/3] selftests: bonding: add arp validate test
Hangbin Liu <liuhangbin@...il.com> wrote:
>This patch add bonding arp validate tests with mode active backup,
>monitor arp_ip_target and ns_ip6_target. It also checks mii_status
>to make sure all slaves are UP.
>
>Signed-off-by: Hangbin Liu <liuhangbin@...il.com>
Acked-by: Jay Vosburgh <jay.vosburgh@...onical.com>
>---
> .../drivers/net/bonding/bond_options.sh | 55 +++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
>diff --git a/tools/testing/selftests/drivers/net/bonding/bond_options.sh b/tools/testing/selftests/drivers/net/bonding/bond_options.sh
>index 431ce0e45e3c..4909d529210c 100755
>--- a/tools/testing/selftests/drivers/net/bonding/bond_options.sh
>+++ b/tools/testing/selftests/drivers/net/bonding/bond_options.sh
>@@ -5,6 +5,7 @@
>
> ALL_TESTS="
> prio
>+ arp_validate
> "
>
> REQUIRE_MZ=no
>@@ -207,6 +208,60 @@ prio()
> done
> }
>
>+arp_validate_test()
>+{
>+ local param="$1"
>+ RET=0
>+
>+ # create bond
>+ bond_reset "${param}"
>+
>+ bond_check_connection
>+ [ $RET -ne 0 ] && log_test "arp_validate" "$retmsg"
>+
>+ # wait for a while to make sure the mii status stable
>+ sleep 5
>+ for i in $(seq 0 2); do
>+ mii_status=$(cmd_jq "ip -n ${s_ns} -j -d link show eth$i" ".[].linkinfo.info_slave_data.mii_status")
>+ if [ ${mii_status} != "UP" ]; then
>+ RET=1
>+ log_test "arp_validate" "interface eth$i mii_status $mii_status"
>+ fi
>+ done
>+}
>+
>+arp_validate_arp()
>+{
>+ local mode=$1
>+ local val
>+ for val in $(seq 0 6); do
>+ arp_validate_test "mode $mode arp_interval 1000 arp_ip_target ${sw_ip4} arp_validate $val"
>+ log_test "arp_validate" "mode $mode arp_ip_target arp_validate $val"
>+ done
>+}
>+
>+arp_validate_ns()
>+{
>+ local mode=$1
>+ local val
>+
>+ if skip_ns; then
>+ log_test_skip "arp_validate ns" "Current iproute or kernel doesn't support bond option 'ns_ip6_target'."
>+ return 0
>+ fi
>+
>+ for val in $(seq 0 6); do
>+ arp_validate_test "mode $mode arp_interval 1000 ns_ip6_target ${sw_ip6} arp_validate $val"
>+ log_test "arp_validate" "mode $mode ns_ip6_target arp_validate $val"
>+ done
>+}
>+
>+arp_validate()
>+{
>+ arp_validate_arp "active-backup"
>+ arp_validate_ns "active-backup"
>+}
>+
> trap cleanup EXIT
>
> setup_prepare
>--
>2.38.1
>
Powered by blists - more mailing lists