Thomas Graf | f74599f | 2016-11-30 17:10:11 +0100 | [diff] [blame] | 1 | #!/bin/bash |
Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 2 | # SPDX-License-Identifier: GPL-2.0 |
Thomas Graf | f74599f | 2016-11-30 17:10:11 +0100 | [diff] [blame] | 3 | |
| 4 | NS1=lwt_ns1 |
| 5 | VETH0=tst_lwt1a |
| 6 | VETH1=tst_lwt1b |
| 7 | |
| 8 | TRACE_ROOT=/sys/kernel/debug/tracing |
| 9 | |
| 10 | function cleanup { |
Daniel T. Lee | 0afe0a9 | 2020-11-24 09:03:09 +0000 | [diff] [blame] | 11 | # To reset saved histogram, remove pinned map |
| 12 | rm /sys/fs/bpf/tc/globals/lwt_len_hist_map |
Thomas Graf | f74599f | 2016-11-30 17:10:11 +0100 | [diff] [blame] | 13 | ip route del 192.168.253.2/32 dev $VETH0 2> /dev/null |
| 14 | ip link del $VETH0 2> /dev/null |
| 15 | ip link del $VETH1 2> /dev/null |
| 16 | ip netns exec $NS1 killall netserver |
| 17 | ip netns delete $NS1 2> /dev/null |
| 18 | } |
| 19 | |
| 20 | cleanup |
| 21 | |
| 22 | ip netns add $NS1 |
| 23 | ip link add $VETH0 type veth peer name $VETH1 |
| 24 | ip link set dev $VETH0 up |
| 25 | ip addr add 192.168.253.1/24 dev $VETH0 |
| 26 | ip link set $VETH1 netns $NS1 |
| 27 | ip netns exec $NS1 ip link set dev $VETH1 up |
| 28 | ip netns exec $NS1 ip addr add 192.168.253.2/24 dev $VETH1 |
| 29 | ip netns exec $NS1 netserver |
| 30 | |
| 31 | echo 1 > ${TRACE_ROOT}/tracing_on |
| 32 | cp /dev/null ${TRACE_ROOT}/trace |
| 33 | ip route add 192.168.253.2/32 encap bpf out obj lwt_len_hist_kern.o section len_hist dev $VETH0 |
| 34 | netperf -H 192.168.253.2 -t TCP_STREAM |
| 35 | cat ${TRACE_ROOT}/trace | grep -v '^#' |
| 36 | ./lwt_len_hist |
| 37 | cleanup |
| 38 | echo 0 > ${TRACE_ROOT}/tracing_on |
| 39 | |
| 40 | exit 0 |