Skip to content

Commit

Permalink
selftests: mlxsw: ethtool_lanes: Wait for lanes parameter dump explic…
Browse files Browse the repository at this point in the history
…itly

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: Danielle Ratson <danieller@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  • Loading branch information
Danielle Ratson authored and Paolo Abeni committed Apr 16, 2024
1 parent bfc4294 commit 8d612ed
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions tools/testing/selftests/drivers/net/mlxsw/ethtool_lanes.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down

0 comments on commit 8d612ed

Please sign in to comment.