Subject: Re: [PATCH net-next] selftests: forwarding: Add suppport to create veth interfaces

From: Ido Schimmel <[email-masked]>
Date: Sun, 4 Mar 2018 10:14:53 +0200

On Fri, Mar 02, 2018 at 08:45:53AM -0800, David Ahern wrote:
> For tests using veth interfaces, the test infrastructure can create
> the netdevs if they do not exist. Arguably this is a preferred approach
> since the tests require p$N and p$(N+1) to be pairs.
> 
> Signed-off-by: David Ahern <[email-masked]>

[...]

> diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
> index d0af52109360..2ce98c6a8c25 100644
> --- a/tools/testing/selftests/net/forwarding/lib.sh
> +++ b/tools/testing/selftests/net/forwarding/lib.sh
> @@ -76,6 +76,39 @@ done
>  ##############################################################################
>  # Network interfaces configuration
>  
> +create_netif_veth()
> +{
> +	local i
> +
> +	for i in $(eval echo {1..$NUM_NETIFS}); do
> +		j=$((i+1))

local j=$((i+1)) and drop a line.

> +		ip link show dev ${NETIFS[p$i]} &> /dev/null
> +		if [[ $? -ne 0 ]]; then
> +			ip link add ${NETIFS[p$i]} type veth peer name ${NETIFS[p$j]}

Need to break this one. FWIW, I have this in my config:

$ cat ~/.vim/after/ftplugin/sh.vim
...
highlight OverLength ctermbg=red ctermfg=white
match OverLength /\%81v.\+/

Cool patch! Tested on my machine.

> +			if [[ $? -ne 0 ]]; then
> +				echo "Failed to create netif"
> +				exit 1
> +			fi
> +		fi
> +		i=$j
> +	done
> +}
> +
> +create_netif()
> +{
> +	case "$NETIF_TYPE" in
> +	veth) create_netif_veth
> +	      ;;
> +	*) echo "Can not create interfaces of type \'$NETIF_TYPE\'"
> +	   exit 1
> +	   ;;
> +	esac
> +}
> +
> +if [[ "$NETIF_CREATE" = "yes" ]]; then
> +	create_netif
> +fi
> +
>  for i in $(eval echo {1..$NUM_NETIFS}); do
>  	ip link show dev ${NETIFS[p$i]} &> /dev/null
>  	if [[ $? -ne 0 ]]; then
> -- 
> 2.11.0
>