0001
0002
0003
0004 NSIM_ID=$((RANDOM % 1024))
0005 NSIM_DEV_SYS=/sys/bus/netdevsim/devices/netdevsim$NSIM_ID
0006 NSIM_DEV_DFS=/sys/kernel/debug/netdevsim/netdevsim$NSIM_ID/ports/0
0007 NSIM_NETDEV=
0008 num_passes=0
0009 num_errors=0
0010
0011 function cleanup_nsim {
0012 if [ -e $NSIM_DEV_SYS ]; then
0013 echo $NSIM_ID > /sys/bus/netdevsim/del_device
0014 fi
0015 }
0016
0017 function cleanup {
0018 cleanup_nsim
0019 }
0020
0021 trap cleanup EXIT
0022
0023 function check {
0024 local code=$1
0025 local str=$2
0026 local exp_str=$3
0027 local exp_fail=$4
0028
0029 [ -z "$exp_fail" ] && cop="-ne" || cop="-eq"
0030
0031 if [ $code $cop 0 ]; then
0032 ((num_errors++))
0033 return
0034 fi
0035
0036 if [ "$str" != "$exp_str" ]; then
0037 echo -e "Expected: '$exp_str', got '$str'"
0038 ((num_errors++))
0039 return
0040 fi
0041
0042 ((num_passes++))
0043 }
0044
0045 function make_netdev {
0046
0047 old_netdevs=$(ls /sys/class/net)
0048
0049 if ! $(lsmod | grep -q netdevsim); then
0050 modprobe netdevsim
0051 fi
0052
0053 echo $NSIM_ID $@ > /sys/bus/netdevsim/new_device
0054
0055 ls /sys/bus/netdevsim/devices/netdevsim${NSIM_ID}/net/
0056 }