mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 16:38:12 +00:00
25c0a30541
Remove the number of tx packet option as this should be decided by the test itself. Also change the number of packets to be sent to 4096 speeding up the execution. Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20210825093722.10219-3-magnus.karlsson@gmail.com
95 lines
1.8 KiB
Bash
Executable file
95 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright(c) 2020 Intel Corporation.
|
|
|
|
ksft_pass=0
|
|
ksft_fail=1
|
|
ksft_xfail=2
|
|
ksft_xpass=3
|
|
ksft_skip=4
|
|
|
|
SPECFILE=veth.spec
|
|
XSKOBJ=xdpxceiver
|
|
|
|
validate_root_exec()
|
|
{
|
|
msg="skip all tests:"
|
|
if [ $UID != 0 ]; then
|
|
echo $msg must be run as root >&2
|
|
test_exit $ksft_fail 2
|
|
else
|
|
return $ksft_pass
|
|
fi
|
|
}
|
|
|
|
validate_veth_support()
|
|
{
|
|
msg="skip all tests:"
|
|
if [ $(ip link add $1 type veth 2>/dev/null; echo $?;) != 0 ]; then
|
|
echo $msg veth kernel support not available >&2
|
|
test_exit $ksft_skip 1
|
|
else
|
|
ip link del $1
|
|
return $ksft_pass
|
|
fi
|
|
}
|
|
|
|
validate_veth_spec_file()
|
|
{
|
|
if [ ! -f ${SPECFILE} ]; then
|
|
test_exit $ksft_skip 1
|
|
fi
|
|
}
|
|
|
|
test_status()
|
|
{
|
|
statusval=$1
|
|
if [ $statusval -eq 2 ]; then
|
|
echo -e "$2: [ FAIL ]"
|
|
elif [ $statusval -eq 1 ]; then
|
|
echo -e "$2: [ SKIPPED ]"
|
|
elif [ $statusval -eq 0 ]; then
|
|
echo -e "$2: [ PASS ]"
|
|
fi
|
|
}
|
|
|
|
test_exit()
|
|
{
|
|
retval=$1
|
|
if [ $2 -ne 0 ]; then
|
|
test_status $2 $(basename $0)
|
|
fi
|
|
exit $retval
|
|
}
|
|
|
|
clear_configs()
|
|
{
|
|
if [ $(ip netns show | grep $3 &>/dev/null; echo $?;) == 0 ]; then
|
|
[ $(ip netns exec $3 ip link show $2 &>/dev/null; echo $?;) == 0 ] &&
|
|
{ ip netns exec $3 ip link del $2; }
|
|
ip netns del $3
|
|
fi
|
|
#Once we delete a veth pair node, the entire veth pair is removed,
|
|
#this is just to be cautious just incase the NS does not exist then
|
|
#veth node inside NS won't get removed so we explicitly remove it
|
|
[ $(ip link show $1 &>/dev/null; echo $?;) == 0 ] &&
|
|
{ ip link del $1; }
|
|
if [ -f ${SPECFILE} ]; then
|
|
rm -f ${SPECFILE}
|
|
fi
|
|
}
|
|
|
|
cleanup_exit()
|
|
{
|
|
clear_configs $1 $2 $3
|
|
}
|
|
|
|
validate_ip_utility()
|
|
{
|
|
[ ! $(type -P ip) ] && { echo "'ip' not found. Skipping tests."; test_exit $ksft_skip 1; }
|
|
}
|
|
|
|
execxdpxceiver()
|
|
{
|
|
./${XSKOBJ} -i ${VETH0} -i ${VETH1},${NS1} ${VERBOSE_ARG} ${DUMP_PKTS_ARG}
|
|
}
|