Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/bash
0002 # SPDX-License-Identifier: GPL-2.0
0003 
0004 NS1=lwt_ns1
0005 VETH0=tst_lwt1a
0006 VETH1=tst_lwt1b
0007 
0008 TRACE_ROOT=/sys/kernel/debug/tracing
0009 
0010 function cleanup {
0011         # To reset saved histogram, remove pinned map
0012         rm /sys/fs/bpf/tc/globals/lwt_len_hist_map
0013         ip route del 192.168.253.2/32 dev $VETH0 2> /dev/null
0014         ip link del $VETH0 2> /dev/null
0015         ip link del $VETH1 2> /dev/null
0016         ip netns exec $NS1 killall netserver
0017         ip netns delete $NS1 2> /dev/null
0018 }
0019 
0020 cleanup
0021 
0022 ip netns add $NS1
0023 ip link add $VETH0 type veth peer name $VETH1
0024 ip link set dev $VETH0 up
0025 ip addr add 192.168.253.1/24 dev $VETH0
0026 ip link set $VETH1 netns $NS1
0027 ip netns exec $NS1 ip link set dev $VETH1 up
0028 ip netns exec $NS1 ip addr add 192.168.253.2/24 dev $VETH1
0029 ip netns exec $NS1 netserver
0030 
0031 echo 1 > ${TRACE_ROOT}/tracing_on
0032 cp /dev/null ${TRACE_ROOT}/trace
0033 ip route add 192.168.253.2/32 encap bpf out obj lwt_len_hist_kern.o section len_hist dev $VETH0
0034 netperf -H 192.168.253.2 -t TCP_STREAM
0035 cat ${TRACE_ROOT}/trace | grep -v '^#'
0036 ./lwt_len_hist
0037 cleanup
0038 echo 0 > ${TRACE_ROOT}/tracing_on
0039 
0040 exit 0