cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ethtool-common.sh (1065B)


      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    # get new device name
     55    ls /sys/bus/netdevsim/devices/netdevsim${NSIM_ID}/net/
     56}