#!/bin/sh

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

xcf_config()
{

echo "
TYPE = X25
ACKDELAY = 15
L3PLPMODE = DCE
LOCMAXPKTSIZE = 12
REMMAXPKTSIZE = 12
MAXNSDULEN = 8192
LAPB_MODE = DCE
LAPB_PHY_IF = DCE
LAPB_BAUD = $1
LAPB_MAX_I_LEN = $2
LAPB_MAXFRAME = $2
LOCDEFWSIZE=7
REMDEFWSIZE=7
X25_VSN = 84 " > /tmp/x25port.1E

if [ $1 != 2000000 -a $1 != 500000 -a $1 != 125000 -a $2 -gt 2000 ]
then
echo "
LAPB_ACK_DELAY = 4
LAPB_NOTACK_MAX = 3
LAPB_T1 = 50
LAPB_TBUSY = 100
LAPB_TPF = 100
LAPB_TREJ = 100 " >> /tmp/x25port.1E
fi

echo "
TYPE = X25
MAXNSDULEN = 8192
ACKDELAY = 15
L3PLPMODE = DTE
LAPB_MODE = DTE
LAPB_MAX_I_LEN = $2
LAPB_PHY_IF = DTE
LAPB_MAXFRAME = $2
LOCMAXPKTSIZE = 12
REMMAXPKTSIZE = 12
LOCDEFWSIZE=7
REMDEFWSIZE=7
X25_VSN = 84
LAPB_BAUD = 0 " > /tmp/x25port.1G

if [ $1 != 2000000 -a $1 != 500000 -a $1 != 125000 -a $2 -gt 2000 ]
then
echo "
LAPB_ACK_DELAY = 4
LAPB_NOTACK_MAX = 3
LAPB_T1 = 50
LAPB_TBUSY = 100
LAPB_TPF = 100
LAPB_TREJ = 100 " >> /tmp/x25port.1G
fi

echo "
TYPE = WAN " > /tmp/x25port.1A

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

echo "
TYPE = WAN " > /tmp/x25port.1C

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

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

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

xcf -b1 -t8 /tmp/x25port
#rm /tmp/x25port.*
vcom_cfg 1
}

vc_reset()
{

vcom_stat 1
vcom_rst -f 1

vcom_vld 1
vcom_cfg 1
}

#SPEEDS="2000000 500000 125000 64516 57142"
SPEEDS="500000"
PKTS="5000"
#PKT_SZ="124 252 508 1020 2044 4086"
PKT_SZ="124" 

for i in $SPEEDS
do

vc_reset
for j in $PKT_SZ
do
		xcf_config $i `expr $j + 10`
		echo "-----------------------------------------------------------------"
		echo "#### SPEED=$i, PKTS=$PKTS, SIZE=$j ########"
		./xsink -b1 &
		sleep 2
		./xsrc -b1 -sc -n$PKTS -z$j
	sleep 2
done

done
