Subject: Re: [PATCH v3] sefltests: net: Add on/off checks for network interface non fixed features

From: Jakub Kicinski <[email-masked]>
Date: Fri, 14 Jun 2024 18:50:07 -0700

On Fri, 14 Jun 2024 11:32:40 +0000 Abhinav Jain wrote:
> This patch addresses the TODO (add non fixed feature on/off check).
> I have tested it manually on my system after making changes as suggested
> in v1 and v2 linked below for reference.
> Patch now restores the features being tested to their initial state.

Can you separate the features on/off and auto-adding veth into two
commits/patches? Then send them as a series?

> diff --git a/tools/testing/selftests/net/netdevice.sh b/tools/testing/selftests/net/netdevice.sh
> index e3afcb424710..d937d39dda6a 100755
> --- a/tools/testing/selftests/net/netdevice.sh
> +++ b/tools/testing/selftests/net/netdevice.sh
> @@ -104,6 +104,20 @@ kci_netdev_ethtool()
>  {
>  	netdev=$1
>  
> +	#check if netdev is provided as an argument
> +	if [ -z "$netdev" ]; then
> +		echo "No network device provided, creating a veth pair"
> +		ip link add veth0 type veth peer name veth1
> +		netdev="veth0"
> +		veth_created=1
> +	else
> +		#check if the provided netdev exists
> +		if ! ip link show "$netdev" > /dev/null 2>&1; then
> +			echo "Network device $netdev does not exist."
> +			return 1
> +		fi
> +	fi

I don't think this will work, since the function won't get called at
all if there is no netdev. You need to do the auto-adding around the

while read netdev

loop.

To test locally you can use network namespaces, or build and boot a
network-less kernel using vng:
https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-style