72 lines · 1.3 KB · Shell
RawDownload
#!/bin/bash# SPDX-License-Identifier: GPL-2.0 lib_dir=$(dirname $0)/../../../net/forwarding ALL_TESTS="check_devlink_test check_ports_test"NUM_NETIFS=0source $lib_dir/lib.sh BUS_ADDR=10PORT_COUNT=4DEV_NAME=netdevsim$BUS_ADDRSYSFS_NET_DIR=/sys/bus/netdevsim/devices/$DEV_NAME/net/DL_HANDLE=netdevsim/$DEV_NAMENETNS_NAME=testns1 port_netdev_get(){	local port_index=$1 	cmd_jq "devlink -N $NETNS_NAME port show -j" \	       ".[][\"$DL_HANDLE/$port_index\"].netdev" "-e"} check_ports_test(){	RET=0 	for i in $(seq 0 $(expr $PORT_COUNT - 1)); do		netdev_name=$(port_netdev_get $i)		check_err $? "Failed to get netdev name for port $DL_HANDLE/$i"		ip -n $NETNS_NAME link show $netdev_name &> /dev/null		check_err $? "Failed to find netdev $netdev_name"	done 	log_test "check ports test"} check_devlink_test(){	RET=0 	devlink -N $NETNS_NAME dev show $DL_HANDLE &> /dev/null	check_err $? "Failed to show devlink instance" 	log_test "check devlink test"} setup_prepare(){	modprobe netdevsim	ip netns add $NETNS_NAME	ip netns exec $NETNS_NAME \		echo "$BUS_ADDR $PORT_COUNT" > /sys/bus/netdevsim/new_device	while [ ! -d $SYSFS_NET_DIR ] ; do :; done} cleanup(){	pre_cleanup	echo "$BUS_ADDR" > /sys/bus/netdevsim/del_device	ip netns del $NETNS_NAME	modprobe -r netdevsim} trap cleanup EXIT setup_prepare tests_run exit $EXIT_STATUS