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

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/bpf/xsk_prereqs.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 # Copyright(c) 2020 Intel Corporation.
  4 
  5 ksft_pass=0
  6 ksft_fail=1
  7 ksft_xfail=2
  8 ksft_xpass=3
  9 ksft_skip=4
 10 
 11 XSKOBJ=xskxceiver
 12 
 13 validate_root_exec()
 14 {
 15         msg="skip all tests:"
 16         if [ $UID != 0 ]; then
 17                 echo $msg must be run as root >&2
 18                 test_exit $ksft_fail
 19         else
 20                 return $ksft_pass
 21         fi
 22 }
 23 
 24 validate_veth_support()
 25 {
 26         msg="skip all tests:"
 27         if [ $(ip link add $1 type veth 2>/dev/null; echo $?;) != 0 ]; then
 28                 echo $msg veth kernel support not available >&2
 29                 test_exit $ksft_skip
 30         else
 31                 ip link del $1
 32                 return $ksft_pass
 33         fi
 34 }
 35 
 36 test_status()
 37 {
 38         statusval=$1
 39         if [ $statusval -eq $ksft_fail ]; then
 40                 echo "$2: [ FAIL ]"
 41         elif [ $statusval -eq $ksft_skip ]; then
 42                 echo "$2: [ SKIPPED ]"
 43         elif [ $statusval -eq $ksft_pass ]; then
 44                 echo "$2: [ PASS ]"
 45         fi
 46 }
 47 
 48 test_exit()
 49 {
 50         if [ $1 -ne 0 ]; then
 51                 test_status $1 $(basename $0)
 52         fi
 53         exit 1
 54 }
 55 
 56 cleanup_iface()
 57 {
 58         ip link set $1 mtu $2
 59         ip link set $1 xdp off
 60         ip link set $1 xdpgeneric off
 61 }
 62 
 63 clear_configs()
 64 {
 65         [ $(ip link show $1 &>/dev/null; echo $?;) == 0 ] &&
 66                 { ip link del $1; }
 67 }
 68 
 69 cleanup_exit()
 70 {
 71         clear_configs $1 $2
 72 }
 73 
 74 validate_ip_utility()
 75 {
 76         [ ! $(type -P ip) ] && { echo "'ip' not found. Skipping tests."; test_exit $ksft_skip; }
 77 }
 78 
 79 exec_xskxceiver()
 80 {
 81         if [[ $busy_poll -eq 1 ]]; then
 82                 ARGS+="-b "
 83         fi
 84 
 85         ./${XSKOBJ} -i ${VETH0} -i ${VETH1} ${ARGS}
 86         retval=$?
 87 
 88         if [[ $list -ne 1 ]]; then
 89             test_status $retval "${TEST_NAME}"
 90             statusList+=($retval)
 91             nameList+=(${TEST_NAME})
 92         fi
 93 }

~ [ 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