#!/bin/sh

# The performance test at x25 level for 2 channels on VCOM-25 or VCOM-24/4
# running in loopback

#ACKDELAY = 15
xcf_config()
{

echo "
TYPE = X25
L3PLPMODE = DCE
MAXPKTPAR = 12
MAXNSDULEN = 8192
LAPB_MODE = DCE
LAPB_phy_if = DCE
LAPB_MAXFRAME = $2
LAPB_N2 = 25
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
LAPB_BAUD = $1
DEFWSIZE=7
X25_VSN = 84 " > /tmp/x25port.0A

echo "
TYPE = X25
MAXNSDULEN = 8192
L3PLPMODE = DTE
LAPB_MODE = DTE
LAPB_phy_if = DTE
LAPB_MAXFRAME = $2
MAXPKTPAR = 12
LAPB_N2 = 25
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
DEFWSIZE=7
X25_VSN = 84
LAPB_BAUD = 0 " > /tmp/x25port.0C

echo "
TYPE = WAN " > /tmp/x25port.0B

echo "
TYPE = WAN " > /tmp/x25port.0D

echo "
TYPE = WAN " > /tmp/x25port.0E

echo "
TYPE = WAN " > /tmp/x25port.0F

echo "
TYPE = WAN " > /tmp/x25port.0G

echo "
TYPE = WAN " > /tmp/x25port.0H

xcf -b0 -t8 /tmp/x25port
rm /tmp/x25port.*
}

vc_reset()
{

vcom_rst -f 0

vcom_dl 0
vcom_cfg 0
}

SPEEDS="1638400 512000 64000 56000 9600"
PKTS=5000
PKT_SZ="128 256 508 1020 2044 4086"

for i in $SPEEDS
do

for j in $PKT_SZ
do
		xcf_config $i `expr $j + 10`
		vc_reset

		echo "-----------------------------------------------------------------" >> perf.log
		echo "#### SPEED=$i, PKTS=$PKTS, SIZE=$j ########" >> perf.log
		./xsink >> perf.log 2>&1 &
		./xsink >> perf.log 2>&1 &
		sleep 2
		./xsrc -sc -n$PKTS -z$j >> perf.log 2>&1 &
		./xsrc -sa -n$PKTS -z$j >> perf.log 2>&1
		wait
		sleep 2
done

done
