]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - gw-tests/vcans.sh
Add reference from /usr/src/linux
[can-benchmark.git] / gw-tests / vcans.sh
1 #!/bin/bash
2
3 . lib.sh
4
5 numjobs=" 1 `seq 2 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     
10     if [ "$kvers" = 3.4.33-rt47-00004-gc58c9ae ]; then echo "Skipping test"; SKIPPED=1; return; fi;#All frames of these tests are returned as invalid...
11     
12     for i in $numjobs; do
13         cleanupgw
14         lastif=can0
15         for j in `seq $((i-1))`; do
16             sshgw "if ! ip l show dev vcan$j >/dev/null 2>&1; then ip link add dev vcan$j type vcan && ip link set vcan$j up; fi"
17             sshgw cangw -A -s $lastif -d vcan$j -e -f $(printf %x:C00007FF $((j-1))) -m SET:I:$(printf %x $j).0.0000000000000000
18             lastif=vcan$j
19         done
20         sshgw cangw -A -s $lastif -d can1 -f $(printf %x:C00007FF $((i-1)))
21
22         latester -d can0 -d can1 -d can2 -c $COUNT -i 0 $(traffic_and_length 2) -n hops$i
23     done
24 }
25
26 ADDITIONAL_PLOTS=detail
27
28 plot_cmds() {
29     if [[ "$1" = detail ]]; then
30         range=0:0.4
31         echo "set logscale y"
32         echo "set mxtics 5"
33     else
34         range=0.01:1000
35         echo "set logscale xy"
36     fi
37     cat <<EOF
38 set title "Chained GWs on multiple VCAN interfaces"
39 set grid xtics mxtics ytics mytics lw 1, lw 0.5
40 set xlabel "GW latency [ms]"
41 set ylabel "Latency profile [frames]"
42 plot [$range] [1:$COUNT] \\
43 EOF
44     lt=1
45     for i in $numjobs; do
46         echo_plot "\"hops$i-hist.txt\" with lp lt $lt title \"$i GW jobs, $((i-1)) vcans\""
47         lt=$((lt+1))
48     done
49 }
50
51
52 test_end