Message ID | 20240815105924.1389290-3-jain.abhinav177@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Enhance network interface feature testing | expand |
On Thu, Aug 15, 2024 at 04:29:23PM +0530, Abhinav Jain wrote: > Implement on/off testing for all non-fixed features via while loop. > Save the initial state so that it can be restored after on/off checks. > > Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com> > --- > tools/testing/selftests/net/netdevice.sh | 37 +++++++++++++++++++++++- > 1 file changed, 36 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh > index 0c32950fdd17..50f7b9d1163d 100755 > --- a/tools/testing/selftests/net/netdevice.sh > +++ b/tools/testing/selftests/net/netdevice.sh > @@ -124,7 +124,42 @@ kci_netdev_ethtool() > return 1 > fi > echo "PASS: $netdev: ethtool list features" > - #TODO for each non fixed features, try to turn them on/off > + > + while read -r FEATURE VALUE FIXED; do > + [ "$FEATURE" != "Features" ] || continue # Skip "Features" > + [ "$FIXED" != "[fixed]" ] || continue # Skip fixed features > + feature="${FEATURE%:*}" > + > + initial_state=$(ethtool -k "$netdev" | grep "$feature:" \ > + | awk '{print $2}') Hi Abhinav, Isn't the value being read into $initial_state here already present in $VALUE? > + ethtool --offload "$netdev" "$feature" off > + if [ $? -eq 0 ]; then > + echo "PASS: $netdev: Turned off feature: $feature" > + else > + echo "FAIL: $netdev: Failed to turn off feature:" \ > + "$feature" > + fi > + > + ethtool --offload "$netdev" "$feature" on > + if [ $? -eq 0 ]; then > + echo "PASS: $netdev: Turned on feature: $feature" > + else > + echo "FAIL: $netdev: Failed to turn on feature:" \ > + "$feature" > + fi > + > + #restore the feature to its initial state > + ethtool --offload "$netdev" "$feature" "$initial_state" > + if [ $? -eq 0 ]; then > + echo "PASS: $netdev: Restore feature $feature" \ > + "to initial state $initial_state" > + else > + echo "FAIL: $netdev: Failed to restore feature" \ > + "$feature to default $initial_state" > + fi > + > + done < "$TMP_ETHTOOL_FEATURES" > + > rm "$TMP_ETHTOOL_FEATURES" > > kci_netdev_ethtool_test 74 'dump' "ethtool -d $netdev" > -- > 2.34.1 > >
On Thu, 15 Aug 2024 14:03:53 +0100, Simon Horman wrote: > Hi Abhinav, > > Isn't the value being read into $initial_state here already present in $VALUE? Yes, that is correct. I will wait for a day and send v8 using $VALUE. Thanks. ---
diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh index 0c32950fdd17..50f7b9d1163d 100755 --- a/tools/testing/selftests/net/netdevice.sh +++ b/tools/testing/selftests/net/netdevice.sh @@ -124,7 +124,42 @@ kci_netdev_ethtool() return 1 fi echo "PASS: $netdev: ethtool list features" - #TODO for each non fixed features, try to turn them on/off + + while read -r FEATURE VALUE FIXED; do + [ "$FEATURE" != "Features" ] || continue # Skip "Features" + [ "$FIXED" != "[fixed]" ] || continue # Skip fixed features + feature="${FEATURE%:*}" + + initial_state=$(ethtool -k "$netdev" | grep "$feature:" \ + | awk '{print $2}') + ethtool --offload "$netdev" "$feature" off + if [ $? -eq 0 ]; then + echo "PASS: $netdev: Turned off feature: $feature" + else + echo "FAIL: $netdev: Failed to turn off feature:" \ + "$feature" + fi + + ethtool --offload "$netdev" "$feature" on + if [ $? -eq 0 ]; then + echo "PASS: $netdev: Turned on feature: $feature" + else + echo "FAIL: $netdev: Failed to turn on feature:" \ + "$feature" + fi + + #restore the feature to its initial state + ethtool --offload "$netdev" "$feature" "$initial_state" + if [ $? -eq 0 ]; then + echo "PASS: $netdev: Restore feature $feature" \ + "to initial state $initial_state" + else + echo "FAIL: $netdev: Failed to restore feature" \ + "$feature to default $initial_state" + fi + + done < "$TMP_ETHTOOL_FEATURES" + rm "$TMP_ETHTOOL_FEATURES" kci_netdev_ethtool_test 74 'dump' "ethtool -d $netdev"
Implement on/off testing for all non-fixed features via while loop. Save the initial state so that it can be restored after on/off checks. Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com> --- tools/testing/selftests/net/netdevice.sh | 37 +++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-)