File Index
Files and directories
Sign in
FILE

ethtool-common.sh

File preview with syntax highlighting.

linux-6.19.14/tools/testing/selftests/drivers/net/netdevsim/ethtool-common.sh BASH
 1#!/bin/bash
 2# SPDX-License-Identifier: GPL-2.0-only
 3
 4NSIM_ID=$((RANDOM % 1024))
 5NSIM_DEV_SYS=/sys/bus/netdevsim/devices/netdevsim$NSIM_ID
 6NSIM_DEV_DFS=/sys/kernel/debug/netdevsim/netdevsim$NSIM_ID/ports/0
 7NSIM_NETDEV=
 8num_passes=0
 9num_errors=0
10
11function cleanup_nsim {
12    if [ -e $NSIM_DEV_SYS ]; then
13	echo $NSIM_ID > /sys/bus/netdevsim/del_device
14    fi
15}
16
17function cleanup {
18    cleanup_nsim
19}
20
21trap cleanup EXIT
22
23function check {
24    local code=$1
25    local str=$2
26    local exp_str=$3
27    local exp_fail=$4
28
29    [ -z "$exp_fail" ] && cop="-ne" || cop="-eq"
30
31    if [ $code $cop 0 ]; then
32	((num_errors++))
33	return
34    fi
35
36    if [ "$str" != "$exp_str"  ]; then
37	echo -e "Expected: '$exp_str', got '$str'"
38	((num_errors++))
39	return
40    fi
41
42    ((num_passes++))
43}
44
45function make_netdev {
46    # Make a netdevsim
47    old_netdevs=$(ls /sys/class/net)
48
49    if ! $(lsmod | grep -q netdevsim); then
50	modprobe netdevsim
51    fi
52
53    echo $NSIM_ID $@ > /sys/bus/netdevsim/new_device
54    udevadm settle
55    # get new device name
56    ls /sys/bus/netdevsim/devices/netdevsim${NSIM_ID}/net/
57}
~/ Read-only file preview.