* [PATCH v9 net-next 1/3] selftests: net: Create veth pair for testing in networkless kernel
2024-08-21 17:19 [PATCH v9 net-next 0/3] Enhance network interface feature testing Abhinav Jain
@ 2024-08-21 17:19 ` Abhinav Jain
2024-08-21 17:19 ` [PATCH v9 net-next 2/3] selftests: net: Add on/off checks for non-fixed features of interface Abhinav Jain
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Abhinav Jain @ 2024-08-21 17:19 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, shuah, netdev, linux-kselftest,
linux-kernel
Cc: skhan, javier.carrasco.cruz, Abhinav Jain, Simon Horman
Check if the netdev list is empty and create veth pair to be used for
feature on/off testing.
Remove the veth pair after testing is complete.
Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
---
tools/testing/selftests/net/netdevice.sh | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh
index e3afcb424710..999d72b6670c 100755
--- a/tools/testing/selftests/net/netdevice.sh
+++ b/tools/testing/selftests/net/netdevice.sh
@@ -129,6 +129,7 @@ kci_netdev_ethtool()
kci_netdev_ethtool_test 74 'dump' "ethtool -d $netdev"
kci_netdev_ethtool_test 94 'stats' "ethtool -S $netdev"
+
return 0
}
@@ -196,10 +197,24 @@ if [ ! -e "$TMP_LIST_NETDEV" ];then
fi
ip link show |grep '^[0-9]' | grep -oE '[[:space:]].*eth[0-9]*:|[[:space:]].*enp[0-9]s[0-9]:' | cut -d\ -f2 | cut -d: -f1> "$TMP_LIST_NETDEV"
+
+if [ ! -s "$TMP_LIST_NETDEV" ]; then
+ echo "No valid network device found, creating veth pair"
+ ip link add veth0 type veth peer name veth1
+ echo "veth0" > "$TMP_LIST_NETDEV"
+ veth_created=1
+fi
+
while read netdev
do
kci_test_netdev "$netdev"
done < "$TMP_LIST_NETDEV"
+#clean up veth interface pair if it was created
+if [ "$veth_created" ]; then
+ ip link delete veth0
+ echo "Removed veth pair"
+fi
+
rm "$TMP_LIST_NETDEV"
exit 0
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v9 net-next 2/3] selftests: net: Add on/off checks for non-fixed features of interface
2024-08-21 17:19 [PATCH v9 net-next 0/3] Enhance network interface feature testing Abhinav Jain
2024-08-21 17:19 ` [PATCH v9 net-next 1/3] selftests: net: Create veth pair for testing in networkless kernel Abhinav Jain
@ 2024-08-21 17:19 ` Abhinav Jain
2024-08-21 17:19 ` [PATCH v9 net-next 3/3] selftests: net: Use XFAIL for operations not supported by the driver Abhinav Jain
2024-08-23 0:00 ` [PATCH v9 net-next 0/3] Enhance network interface feature testing patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Abhinav Jain @ 2024-08-21 17:19 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, shuah, netdev, linux-kselftest,
linux-kernel
Cc: skhan, javier.carrasco.cruz, Abhinav Jain, Simon Horman
Implement on/off testing for all non-fixed features via while loop.
Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
---
tools/testing/selftests/net/netdevice.sh | 35 +++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh
index 999d72b6670c..f7752e1ebe22 100755
--- a/tools/testing/selftests/net/netdevice.sh
+++ b/tools/testing/selftests/net/netdevice.sh
@@ -124,7 +124,40 @@ 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%:*}"
+
+ 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" "$VALUE"
+ if [ $? -eq 0 ]; then
+ echo "PASS: $netdev: Restore feature $feature" \
+ "to initial state $VALUE"
+ else
+ echo "FAIL: $netdev: Failed to restore feature" \
+ "$feature to initial state $VALUE"
+ fi
+
+ done < "$TMP_ETHTOOL_FEATURES"
+
rm "$TMP_ETHTOOL_FEATURES"
kci_netdev_ethtool_test 74 'dump' "ethtool -d $netdev"
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v9 net-next 3/3] selftests: net: Use XFAIL for operations not supported by the driver
2024-08-21 17:19 [PATCH v9 net-next 0/3] Enhance network interface feature testing Abhinav Jain
2024-08-21 17:19 ` [PATCH v9 net-next 1/3] selftests: net: Create veth pair for testing in networkless kernel Abhinav Jain
2024-08-21 17:19 ` [PATCH v9 net-next 2/3] selftests: net: Add on/off checks for non-fixed features of interface Abhinav Jain
@ 2024-08-21 17:19 ` Abhinav Jain
2024-08-23 0:00 ` [PATCH v9 net-next 0/3] Enhance network interface feature testing patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Abhinav Jain @ 2024-08-21 17:19 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, shuah, netdev, linux-kselftest,
linux-kernel
Cc: skhan, javier.carrasco.cruz, Abhinav Jain, Simon Horman
Check if veth pair was created and if yes, xfail on setting IP address
logging an informational message.
Use XFAIL instead of SKIP for unsupported ethtool APIs.
Signed-off-by: Abhinav Jain <jain.abhinav177@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
---
tools/testing/selftests/net/netdevice.sh | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh
index f7752e1ebe22..438f7b2acc5f 100755
--- a/tools/testing/selftests/net/netdevice.sh
+++ b/tools/testing/selftests/net/netdevice.sh
@@ -67,8 +67,12 @@ kci_net_setup()
return $ksft_skip
fi
- # TODO what ipaddr to set ? DHCP ?
- echo "SKIP: $netdev: set IP address"
+ if [ "$veth_created" ]; then
+ echo "XFAIL: $netdev: set IP address unsupported for veth*"
+ else
+ # TODO what ipaddr to set ? DHCP ?
+ echo "SKIP: $netdev: set IP address"
+ fi
return $ksft_skip
}
@@ -86,7 +90,7 @@ kci_netdev_ethtool_test()
ret=$?
if [ $ret -ne 0 ];then
if [ $ret -eq "$1" ];then
- echo "SKIP: $netdev: ethtool $2 not supported"
+ echo "XFAIL: $netdev: ethtool $2 not supported"
return $ksft_skip
else
echo "FAIL: $netdev: ethtool $2"
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v9 net-next 0/3] Enhance network interface feature testing
2024-08-21 17:19 [PATCH v9 net-next 0/3] Enhance network interface feature testing Abhinav Jain
` (2 preceding siblings ...)
2024-08-21 17:19 ` [PATCH v9 net-next 3/3] selftests: net: Use XFAIL for operations not supported by the driver Abhinav Jain
@ 2024-08-23 0:00 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-08-23 0:00 UTC (permalink / raw)
To: Abhinav Jain
Cc: davem, edumazet, kuba, pabeni, shuah, netdev, linux-kselftest,
linux-kernel, skhan, javier.carrasco.cruz
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 21 Aug 2024 22:49:00 +0530 you wrote:
> This small series includes fixes for creation of veth pairs for
> networkless kernels & adds tests for turning the different network
> interface features on and off in selftests/net/netdevice.sh script.
> Tested using vng and compiles for network as well as networkless kernel.
>
> Changes in v9:
> Removed veth1 to avoid redundant testing as per feedback in v8.
>
> [...]
Here is the summary with links:
- [v9,net-next,1/3] selftests: net: Create veth pair for testing in networkless kernel
https://git.kernel.org/netdev/net-next/c/1820b84f3c61
- [v9,net-next,2/3] selftests: net: Add on/off checks for non-fixed features of interface
https://git.kernel.org/netdev/net-next/c/6ce7bdbc0d4b
- [v9,net-next,3/3] selftests: net: Use XFAIL for operations not supported by the driver
https://git.kernel.org/netdev/net-next/c/8402a158028f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread