Commit 1cbe65e0 authored by Danielle Ratson's avatar Danielle Ratson Committed by David S. Miller

selftests: mlxsw: Use busywait helper in rtnetlink test

Rtnetlink test uses offload indication checks.

Use a busywait helper and wait until the offload indication is set or
fail if it reaches timeout.
Signed-off-by: default avatarDanielle Ratson <danieller@mellanox.com>
Reviewed-by: default avatarPetr Machata <petrm@mellanox.com>
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 05ef614c
...@@ -32,6 +32,7 @@ ALL_TESTS=" ...@@ -32,6 +32,7 @@ ALL_TESTS="
devlink_reload_test devlink_reload_test
" "
NUM_NETIFS=2 NUM_NETIFS=2
: ${TIMEOUT:=20000} # ms
source $lib_dir/lib.sh source $lib_dir/lib.sh
source $lib_dir/devlink_lib.sh source $lib_dir/devlink_lib.sh
...@@ -360,20 +361,24 @@ vlan_rif_refcount_test() ...@@ -360,20 +361,24 @@ vlan_rif_refcount_test()
ip link add link br0 name br0.10 up type vlan id 10 ip link add link br0 name br0.10 up type vlan id 10
ip -6 address add 2001:db8:1::1/64 dev br0.10 ip -6 address add 2001:db8:1::1/64 dev br0.10
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10
check_err $? "vlan rif was not created before adding port to vlan" check_err $? "vlan rif was not created before adding port to vlan"
bridge vlan add vid 10 dev $swp1 bridge vlan add vid 10 dev $swp1
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10
check_err $? "vlan rif was destroyed after adding port to vlan" check_err $? "vlan rif was destroyed after adding port to vlan"
bridge vlan del vid 10 dev $swp1 bridge vlan del vid 10 dev $swp1
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10
check_err $? "vlan rif was destroyed after removing port from vlan" check_err $? "vlan rif was destroyed after removing port from vlan"
ip link set dev $swp1 nomaster ip link set dev $swp1 nomaster
ip -6 route get fibmatch 2001:db8:1::2 dev br0.10 | grep -q offload busywait "$TIMEOUT" not wait_for_offload \
check_fail $? "vlan rif was not destroyed after unlinking port from bridge" ip -6 route get fibmatch 2001:db8:1::2 dev br0.10
check_err $? "vlan rif was not destroyed after unlinking port from bridge"
log_test "vlan rif refcount" log_test "vlan rif refcount"
...@@ -401,22 +406,28 @@ subport_rif_refcount_test() ...@@ -401,22 +406,28 @@ subport_rif_refcount_test()
ip -6 address add 2001:db8:1::1/64 dev bond1 ip -6 address add 2001:db8:1::1/64 dev bond1
ip -6 address add 2001:db8:2::1/64 dev bond1.10 ip -6 address add 2001:db8:2::1/64 dev bond1.10
ip -6 route get fibmatch 2001:db8:1::2 dev bond1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:1::2 dev bond1
check_err $? "subport rif was not created on lag device" check_err $? "subport rif was not created on lag device"
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10
check_err $? "subport rif was not created on vlan device" check_err $? "subport rif was not created on vlan device"
ip link set dev $swp1 nomaster ip link set dev $swp1 nomaster
ip -6 route get fibmatch 2001:db8:1::2 dev bond1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:1::2 dev bond1
check_err $? "subport rif of lag device was destroyed when should not" check_err $? "subport rif of lag device was destroyed when should not"
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10
check_err $? "subport rif of vlan device was destroyed when should not" check_err $? "subport rif of vlan device was destroyed when should not"
ip link set dev $swp2 nomaster ip link set dev $swp2 nomaster
ip -6 route get fibmatch 2001:db8:1::2 dev bond1 | grep -q offload busywait "$TIMEOUT" not wait_for_offload \
check_fail $? "subport rif of lag device was not destroyed when should" ip -6 route get fibmatch 2001:db8:1::2 dev bond1
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10 | grep -q offload check_err $? "subport rif of lag device was not destroyed when should"
check_fail $? "subport rif of vlan device was not destroyed when should" busywait "$TIMEOUT" not wait_for_offload \
ip -6 route get fibmatch 2001:db8:2::2 dev bond1.10
check_err $? "subport rif of vlan device was not destroyed when should"
log_test "subport rif refcount" log_test "subport rif refcount"
...@@ -575,7 +586,8 @@ bridge_extern_learn_test() ...@@ -575,7 +586,8 @@ bridge_extern_learn_test()
bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn bridge fdb add de:ad:be:ef:13:37 dev $swp1 master extern_learn
bridge fdb show brport $swp1 | grep de:ad:be:ef:13:37 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
bridge fdb show brport $swp1 de:ad:be:ef:13:37
check_err $? "fdb entry not marked as offloaded when should" check_err $? "fdb entry not marked as offloaded when should"
log_test "externally learned fdb entry" log_test "externally learned fdb entry"
...@@ -595,9 +607,11 @@ neigh_offload_test() ...@@ -595,9 +607,11 @@ neigh_offload_test()
ip -6 neigh add 2001:db8:1::2 lladdr de:ad:be:ef:13:37 nud perm \ ip -6 neigh add 2001:db8:1::2 lladdr de:ad:be:ef:13:37 nud perm \
dev $swp1 dev $swp1
ip -4 neigh show dev $swp1 | grep 192.0.2.2 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -4 neigh show dev $swp1 192.0.2.2
check_err $? "ipv4 neigh entry not marked as offloaded when should" check_err $? "ipv4 neigh entry not marked as offloaded when should"
ip -6 neigh show dev $swp1 | grep 2001:db8:1::2 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 neigh show dev $swp1 2001:db8:1::2
check_err $? "ipv6 neigh entry not marked as offloaded when should" check_err $? "ipv6 neigh entry not marked as offloaded when should"
log_test "neighbour offload indication" log_test "neighbour offload indication"
...@@ -623,25 +637,31 @@ nexthop_offload_test() ...@@ -623,25 +637,31 @@ nexthop_offload_test()
ip -6 route add 2001:db8:2::/64 vrf v$swp1 \ ip -6 route add 2001:db8:2::/64 vrf v$swp1 \
nexthop via 2001:db8:1::2 dev $swp1 nexthop via 2001:db8:1::2 dev $swp1
ip -4 route show 198.51.100.0/24 vrf v$swp1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -4 route show 198.51.100.0/24 vrf v$swp1
check_err $? "ipv4 nexthop not marked as offloaded when should" check_err $? "ipv4 nexthop not marked as offloaded when should"
ip -6 route show 2001:db8:2::/64 vrf v$swp1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route show 2001:db8:2::/64 vrf v$swp1
check_err $? "ipv6 nexthop not marked as offloaded when should" check_err $? "ipv6 nexthop not marked as offloaded when should"
ip link set dev $swp2 down ip link set dev $swp2 down
sleep 1 sleep 1
ip -4 route show 198.51.100.0/24 vrf v$swp1 | grep -q offload busywait "$TIMEOUT" not wait_for_offload \
check_fail $? "ipv4 nexthop marked as offloaded when should not" ip -4 route show 198.51.100.0/24 vrf v$swp1
ip -6 route show 2001:db8:2::/64 vrf v$swp1 | grep -q offload check_err $? "ipv4 nexthop marked as offloaded when should not"
check_fail $? "ipv6 nexthop marked as offloaded when should not" busywait "$TIMEOUT" not wait_for_offload \
ip -6 route show 2001:db8:2::/64 vrf v$swp1
check_err $? "ipv6 nexthop marked as offloaded when should not"
ip link set dev $swp2 up ip link set dev $swp2 up
setup_wait setup_wait
ip -4 route show 198.51.100.0/24 vrf v$swp1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -4 route show 198.51.100.0/24 vrf v$swp1
check_err $? "ipv4 nexthop not marked as offloaded after neigh add" check_err $? "ipv4 nexthop not marked as offloaded after neigh add"
ip -6 route show 2001:db8:2::/64 vrf v$swp1 | grep -q offload busywait "$TIMEOUT" wait_for_offload \
ip -6 route show 2001:db8:2::/64 vrf v$swp1
check_err $? "ipv6 nexthop not marked as offloaded after neigh add" check_err $? "ipv6 nexthop not marked as offloaded after neigh add"
log_test "nexthop offload indication" log_test "nexthop offload indication"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment