1 #!/bin/bash 1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0-only 2 # SPDX-License-Identifier: GPL-2.0-only 3 3 4 NSIM_ID=$((RANDOM % 1024)) 4 NSIM_ID=$((RANDOM % 1024)) 5 NSIM_DEV_SYS=/sys/bus/netdevsim/devices/netdev 5 NSIM_DEV_SYS=/sys/bus/netdevsim/devices/netdevsim$NSIM_ID 6 NSIM_DEV_DFS=/sys/kernel/debug/netdevsim/netde 6 NSIM_DEV_DFS=/sys/kernel/debug/netdevsim/netdevsim$NSIM_ID/ports/0 7 NSIM_NETDEV= 7 NSIM_NETDEV= 8 num_passes=0 8 num_passes=0 9 num_errors=0 9 num_errors=0 10 10 11 function cleanup_nsim { 11 function cleanup_nsim { 12 if [ -e $NSIM_DEV_SYS ]; then 12 if [ -e $NSIM_DEV_SYS ]; then 13 echo $NSIM_ID > /sys/bus/netdevsim/del 13 echo $NSIM_ID > /sys/bus/netdevsim/del_device 14 fi 14 fi 15 } 15 } 16 16 17 function cleanup { 17 function cleanup { 18 cleanup_nsim 18 cleanup_nsim 19 } 19 } 20 20 21 trap cleanup EXIT 21 trap cleanup EXIT 22 22 23 function check { 23 function check { 24 local code=$1 24 local code=$1 25 local str=$2 25 local str=$2 26 local exp_str=$3 26 local exp_str=$3 27 local exp_fail=$4 27 local exp_fail=$4 28 28 29 [ -z "$exp_fail" ] && cop="-ne" || cop="-e 29 [ -z "$exp_fail" ] && cop="-ne" || cop="-eq" 30 30 31 if [ $code $cop 0 ]; then 31 if [ $code $cop 0 ]; then 32 ((num_errors++)) 32 ((num_errors++)) 33 return 33 return 34 fi 34 fi 35 35 36 if [ "$str" != "$exp_str" ]; then 36 if [ "$str" != "$exp_str" ]; then 37 echo -e "Expected: '$exp_str', got '$s 37 echo -e "Expected: '$exp_str', got '$str'" 38 ((num_errors++)) 38 ((num_errors++)) 39 return 39 return 40 fi 40 fi 41 41 42 ((num_passes++)) 42 ((num_passes++)) 43 } 43 } 44 44 45 function make_netdev { 45 function make_netdev { 46 # Make a netdevsim 46 # Make a netdevsim 47 old_netdevs=$(ls /sys/class/net) 47 old_netdevs=$(ls /sys/class/net) 48 48 49 if ! $(lsmod | grep -q netdevsim); then 49 if ! $(lsmod | grep -q netdevsim); then 50 modprobe netdevsim 50 modprobe netdevsim 51 fi 51 fi 52 52 53 echo $NSIM_ID $@ > /sys/bus/netdevsim/new_ 53 echo $NSIM_ID $@ > /sys/bus/netdevsim/new_device 54 udevadm settle 54 udevadm settle 55 # get new device name 55 # get new device name 56 ls /sys/bus/netdevsim/devices/netdevsim${N 56 ls /sys/bus/netdevsim/devices/netdevsim${NSIM_ID}/net/ 57 } 57 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.