#!/bin/sh

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

xcf_config()
{

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

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

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

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

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

vc_reset()
{

vcom_rst -f 1

vcom_vld 1
}

SPEEDS="2000000 1000000 500000 64512 57142" 
#SPEEDS="2000000" 
PKTS="5000"
PKT_SZ="120 124 252 508 1020 2044 4086"

for i in $SPEEDS
do

vc_reset
for j in $PKT_SZ
do
		vc_reset
		if [ $j -eq 120 ]
		then
			xcf_config $i `expr $j + 15`
		else
			xcf_config $i `expr $j + 10`
		fi

		echo "-----------------------------------------------------------------"
		echo "#### SPEED=$i, PKTS=$PKTS, SIZE=$j ########"
		./xsink -b1 &
		#sleep 2
		./xsrc -b1 -sa -n$PKTS -z$j
	#sleep 2
done

done
