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 protected]>
[...]
> 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
>