Merge tag 'docs-5.2' of git://git.lwn.net/linux
[sfrench/cifs-2.6.git] / samples / bpf / lwt_len_hist.sh
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
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 {
11         ip route del 192.168.253.2/32 dev $VETH0 2> /dev/null
12         ip link del $VETH0 2> /dev/null
13         ip link del $VETH1 2> /dev/null
14         ip netns exec $NS1 killall netserver
15         ip netns delete $NS1 2> /dev/null
16 }
17
18 cleanup
19
20 ip netns add $NS1
21 ip link add $VETH0 type veth peer name $VETH1
22 ip link set dev $VETH0 up
23 ip addr add 192.168.253.1/24 dev $VETH0
24 ip link set $VETH1 netns $NS1
25 ip netns exec $NS1 ip link set dev $VETH1 up
26 ip netns exec $NS1 ip addr add 192.168.253.2/24 dev $VETH1
27 ip netns exec $NS1 netserver
28
29 echo 1 > ${TRACE_ROOT}/tracing_on
30 cp /dev/null ${TRACE_ROOT}/trace
31 ip route add 192.168.253.2/32 encap bpf out obj lwt_len_hist_kern.o section len_hist dev $VETH0
32 netperf -H 192.168.253.2 -t TCP_STREAM
33 cat ${TRACE_ROOT}/trace | grep -v '^#'
34 ./lwt_len_hist
35 cleanup
36 echo 0 > ${TRACE_ROOT}/tracing_on
37
38 exit 0