]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - gw-tests/vcan.sh
Initial commit of simple (just forwarding from CAN0 to CAN1 and back) CAN gateway...
[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     if [ "$kvers" = 3.0.4-rt14-00008-gb2052fd -a "$load" = eth -a $traffic != oneatatime ]; then echo "Skipping eth test"; SKIPPED=1; return; fi
9     sshgw 'ip link add dev vcan0 type vcan && ip link set vcan0 up'
10     for i in $numjobs; do
11         cleanupgw
12         sshgw cangw -A -s can0 -d vcan0 -e -f 0:C00007FF
13         for j in `seq $i`; do
14             sshgw cangw -A -s vcan0 -d vcan0 -e -f $(printf %x:C00007FF $((j-1))) -m SET:I:$(printf %x $j).0.0000000000000000
15         done
16         sshgw cangw -A -s vcan0 -d can1 -f $(printf %x:C00007FF $i)
17
18         latester -d can0 -d can1 -d can2 -c $COUNT -i 0 $(traffic_and_length 2) -n hops$i
19     done
20     sshgw ip link del dev vcan0
21 }
22
23 ADDITIONAL_PLOTS=detail
24
25 plot_cmds() {
26     if [[ "$1" = detail ]]; then
27         range=0:0.4
28         echo "set logscale y"
29         echo "set mxtics "
30     else
31         range=0.1:1000
32         echo "set logscale xy"
33     fi
34     cat <<EOF
35 set title "Chained GWs on a single VCAN interface"
36 set grid xtics mxtics ytics mytics lw 1, lw 0.5
37 set xlabel "GW latency [ms]"
38 set ylabel "Latency profile [frames]"
39 plot [$range] [1:$COUNT] \\
40 EOF
41     lt=2
42     for i in $numjobs; do
43         echo_plot "\"hops$i-hist.txt\" with lp lt $lt pt $lt title \"$((i+2)) GW jobs, 1 vcan\""
44         lt=$((lt+1))
45     done
46 }
47
48
49 test_end