7c89c4000b64b82735db12aadc94966cbf300a17
[can-benchmark.git] / gw-tests / vcan.sh
1 #!/bin/bash
2
3 . lib.sh
4
5 numjobs=`seq 0 2 10`
6
7 main() {
8     sshgw 'ip link add dev vcan0 type vcan && ip link set vcan0 up'
9     for i in $numjobs; do
10         cleanupgw
11         sshgw cangw -A -s can0 -d vcan0 -e -f 0:C00007FF
12         for j in `seq $i`; do
13             sshgw cangw -A -s vcan0 -d vcan0 -e -f $(printf %x:C00007FF $((j-1))) -m SET:I:$(printf %x $j).0.0000000000000000
14         done
15         sshgw cangw -A -s vcan0 -d can1 -f $(printf %x:C00007FF $i)
16
17         latester -d can0 -d can1 -d can2 -c $COUNT -i 0 $(traffic_and_length 2) -n hops$i
18     done
19     sshgw ip link del dev vcan0
20 }
21
22 ADDITIONAL_PLOTS=detail
23
24 plot_cmds() {
25     if [[ "$1" = detail ]]; then
26         range=0.1:0.4
27         echo "set logscale y"
28         echo "set mxtics "
29     else
30         range=0.1:1000
31         echo "set logscale xy"
32     fi
33     cat <<EOF
34 set title "Chained GW jobs on a single VCAN interface"
35 set grid xtics mxtics ytics mytics lw 1, lw 0.5
36 set xlabel "Time [ms]"
37 set ylabel "Latency profile [messages]"
38 plot [$range] [1:$COUNT] \\
39 EOF
40     lt=2
41     for i in $numjobs; do
42         echo_plot "\"hops$i-hist.txt\" with lp lt $lt pt $lt title \"$((i+2)) GW jobs, 1 vcan\""
43         lt=$((lt+1))
44     done
45 }
46
47
48 test_end