Commit 8d612ed4 authored by Danielle Ratson's avatar Danielle Ratson Committed by Paolo Abeni
Browse files

selftests: mlxsw: ethtool_lanes: Wait for lanes parameter dump explicitly



The ethtool dump includes the lanes parameter only when the port is up.
Therefore, the ethtool_lanes.sh test waits for ports to come before testing
the lanes parameter.

In some cases, the test considers the port as up, but the lanes parameter
is not yet dumped although assumed to be, resulting in ethtool_lanes.sh
test failure.

To avoid that, ensure that the lanes parameter is indeed dumped by waiting
for it explicitly, before preforming the test cases.

Signed-off-by: default avatarDanielle Ratson <danieller@nvidia.com>
Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent bfc42940
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@ setup_prepare()
	busywait "$TIMEOUT" wait_for_port_up ethtool $swp2
	check_err $? "ports did not come up"

	local lanes_exist=$(ethtool $swp1 | grep 'Lanes:')
	if [[ -z $lanes_exist ]]; then
	busywait $TIMEOUT sh -c "ethtool $swp1 | grep -q Lanes:"
	if [[ $? -ne 0 ]]; then
		log_test "SKIP: driver does not support lanes setting"
		exit 1
	fi
@@ -122,8 +122,9 @@ autoneg()
			ethtool_set $swp1 speed $max_speed lanes $lanes
			ip link set dev $swp1 up
			ip link set dev $swp2 up
			busywait "$TIMEOUT" wait_for_port_up ethtool $swp2
			check_err $? "ports did not come up"

			busywait $TIMEOUT sh -c "ethtool $swp1 | grep -q Lanes:"
			check_err $? "Lanes parameter is not presented on time"

			check_lanes $swp1 $lanes $max_speed
			log_test "$lanes lanes is autonegotiated"
@@ -160,8 +161,9 @@ autoneg_force_mode()
			ethtool_set $swp2 speed $max_speed lanes $lanes autoneg off
			ip link set dev $swp1 up
			ip link set dev $swp2 up
			busywait "$TIMEOUT" wait_for_port_up ethtool $swp2
			check_err $? "ports did not come up"

			busywait $TIMEOUT sh -c "ethtool $swp1 | grep -q Lanes:"
			check_err $? "Lanes parameter is not presented on time"

			check_lanes $swp1 $lanes $max_speed
			log_test "Autoneg off, $lanes lanes detected during force mode"