#!/bin/bash
. lib.sh
numjobs=" 1 `seq 2 2 10`"
main() {
if [ "$kvers" = 3.0.4-rt14-00008-gb2052fd -a "$load" = eth -a $traffic != oneatatime ]; then echo "Skipping eth test"; SKIPPED=1; return; fi
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...
for i in $numjobs; do
cleanupgw
lastif=can0
for j in `seq $((i-1))`; do
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"
sshgw cangw -A -s $lastif -d vcan$j -e -f $(printf %x:C00007FF $((j-1))) -m SET:I:$(printf %x $j).0.0000000000000000
lastif=vcan$j
done
sshgw cangw -A -s $lastif -d can1 -f $(printf %x:C00007FF $((i-1)))
latester -d can0 -d can1 -d can2 -c $COUNT -i 0 $(traffic_and_length 2) -n hops$i
done
}
ADDITIONAL_PLOTS=detail
plot_cmds() {
if [[ "$1" = detail ]]; then
range=0:0.4
echo "set logscale y"
echo "set mxtics 5"
else
range=0.01:1000
echo "set logscale xy"
fi
cat <<EOF
set title "Chained GWs on multiple VCAN interfaces"
set grid xtics mxtics ytics mytics lw 1, lw 0.5
set xlabel "GW latency [ms]"
set ylabel "Latency profile [frames]"
plot [$range] [1:$COUNT] \\
EOF
lt=1
for i in $numjobs; do
echo_plot "\"hops$i-hist.txt\" with lp lt $lt title \"$i GW jobs, $((i-1)) vcans\""
lt=$((lt+1))
done
}
test_end