| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/modules/5.15.0-161-generic/build/tools/testing/selftests/net/ |
Upload File : |
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Send packets with transmit timestamps over loopback with netem
# Verify that timestamps correspond to netem delay
set -e
setup() {
# set 1ms delay on lo egress
tc qdisc add dev lo root netem delay 1ms
# set 2ms delay on ifb0 egress
modprobe ifb
ip link add ifb_netem0 type ifb
ip link set dev ifb_netem0 up
tc qdisc add dev ifb_netem0 root netem delay 2ms
# redirect lo ingress through ifb0 egress
tc qdisc add dev lo handle ffff: ingress
tc filter add dev lo parent ffff: \
u32 match mark 0 0xffff \
action mirred egress redirect dev ifb_netem0
}
run_test_v4v6() {
# SND will be delayed 1000us
# ACK will be delayed 6000us: 1 + 2 ms round-trip
local -r args="$@ -v 1000 -V 6000"
./txtimestamp ${args} -4 -L 127.0.0.1
./txtimestamp ${args} -6 -L ::1
}
run_test_tcpudpraw() {
local -r args=$@
run_test_v4v6 ${args} # tcp
run_test_v4v6 ${args} -u # udp
run_test_v4v6 ${args} -r # raw
run_test_v4v6 ${args} -R # raw (IPPROTO_RAW)
run_test_v4v6 ${args} -P # pf_packet
}
run_test_all() {
setup
run_test_tcpudpraw # setsockopt
run_test_tcpudpraw -C # cmsg
run_test_tcpudpraw -n # timestamp w/o data
echo "OK. All tests passed"
}
run_test_one() {
setup
./txtimestamp $@
}
usage() {
echo "Usage: $0 [ -r | --run ] <txtimestamp args> | [ -h | --help ]"
echo " (no args) Run all tests"
echo " -r|--run Run an individual test with arguments"
echo " -h|--help Help"
}
main() {
if [[ $# -eq 0 ]]; then
run_test_all
else
if [[ "$1" = "-r" || "$1" == "--run" ]]; then
shift
run_test_one $@
else
usage
fi
fi
}
if [[ -z "$(ip netns identify)" ]]; then
./in_netns.sh $0 $@
else
main $@
fi