~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/drivers/net/virtio_net/virtio_net_common.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0
  3 
  4 # This assumes running on a host with two virtio interfaces connected
  5 # back to back. Example script to do such wire-up of tap devices would
  6 # look like this:
  7 #
  8 # =======================================================================================================
  9 # #!/bin/bash
 10 #
 11 # DEV1="$1"
 12 # DEV2="$2"
 13 #
 14 # sudo tc qdisc add dev $DEV1 clsact
 15 # sudo tc qdisc add dev $DEV2 clsact
 16 # sudo tc filter add dev $DEV1 ingress protocol all pref 1 matchall action mirred egress redirect dev $DEV2
 17 # sudo tc filter add dev $DEV2 ingress protocol all pref 1 matchall action mirred egress redirect dev $DEV1
 18 # sudo ip link set $DEV1 up
 19 # sudo ip link set $DEV2 up
 20 # =======================================================================================================
 21 
 22 REQUIRE_MZ="no"
 23 NETIF_CREATE="no"
 24 NETIF_FIND_DRIVER="virtio_net"
 25 NUM_NETIFS=2
 26 
 27 H1_IPV4="192.0.2.1"
 28 H2_IPV4="192.0.2.2"
 29 H1_IPV6="2001:db8:1::1"
 30 H2_IPV6="2001:db8:1::2"
 31 
 32 VIRTIO_NET_F_MAC=5
 33 
 34 virtio_device_get()
 35 {
 36         local dev=$1; shift
 37         local device_path="/sys/class/net/$dev/device/"
 38 
 39         basename `realpath $device_path`
 40 }
 41 
 42 virtio_device_rebind()
 43 {
 44         local dev=$1; shift
 45         local device=`virtio_device_get $dev`
 46 
 47         echo "$device" > /sys/bus/virtio/drivers/virtio_net/unbind
 48         echo "$device" > /sys/bus/virtio/drivers/virtio_net/bind
 49 }
 50 
 51 virtio_debugfs_get()
 52 {
 53         local dev=$1; shift
 54         local device=`virtio_device_get $dev`
 55 
 56         echo /sys/kernel/debug/virtio/$device/
 57 }
 58 
 59 check_virtio_debugfs()
 60 {
 61         local dev=$1; shift
 62         local debugfs=`virtio_debugfs_get $dev`
 63 
 64         if [ ! -f "$debugfs/device_features" ] ||
 65            [ ! -f "$debugfs/filter_feature_add"  ] ||
 66            [ ! -f "$debugfs/filter_feature_del"  ] ||
 67            [ ! -f "$debugfs/filter_features"  ] ||
 68            [ ! -f "$debugfs/filter_features_clear"  ]; then
 69                 echo "SKIP: not possible to access debugfs for $dev"
 70                 exit $ksft_skip
 71         fi
 72 }
 73 
 74 virtio_feature_present()
 75 {
 76         local dev=$1; shift
 77         local feature=$1; shift
 78         local debugfs=`virtio_debugfs_get $dev`
 79 
 80         cat $debugfs/device_features |grep "^$feature$" &> /dev/null
 81         return $?
 82 }
 83 
 84 virtio_filter_features_clear()
 85 {
 86         local dev=$1; shift
 87         local debugfs=`virtio_debugfs_get $dev`
 88 
 89         echo "1" > $debugfs/filter_features_clear
 90 }
 91 
 92 virtio_filter_feature_add()
 93 {
 94         local dev=$1; shift
 95         local feature=$1; shift
 96         local debugfs=`virtio_debugfs_get $dev`
 97 
 98         echo "$feature" > $debugfs/filter_feature_add
 99 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php