#!/bin/sh

# The performance test at x25 level for 2 channels on VCOM-25 or VCOM-24/4
# running in loopback
#LAPB_ACK_DELAY = 10
#LAPB_T1 = 200
#LAPB_TBUSY = 200
#LAPB_TPF = 200
#LAPB_TREJ = 200

xcf_config()
{

echo SPEED $1  SIZE $2
echo "
TYPE = LAPB
LAPB_MODE = DCE
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
LAPB_N2 = 10
LAPB_MAX_I_LEN = $2
WAN_PHY_IF = DCE
WAN_BAUD = $1
WAN_MAXFRAME = $2
LAPB_TX_WINDOW=7 " > /tmp/lapbport.2A

if [ $1 != 1638400 -a $1 != 512000 -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/lapbport.2A
fi

echo "
TYPE = LAPB
LAPB_MODE = DTE
LAPB_TX_WINDOW=7 
LAPB_N2 = 25
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
LAPB_MAX_I_LEN = $2
WAN_PHY_IF = DTE
WAN_BAUD = $1
WAN_MAXFRAME = $2 " > /tmp/lapbport.2C

if [ $1 != 1638400 -a $1 != 512000 -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/lapbport.2C
fi

echo "
TYPE = WAN " > /tmp/lapbport.2B

echo "
TYPE = WAN " > /tmp/lapbport.2D

/usr/src/vcom_rel5/sbeux/x25utils/xcf/xcf -b2 /tmp/lapbport
/usr/src/vcom_rel5/sbeux/x25utils/vcomdl/vcom_cfg 2
rm /tmp/lapbport.2*
}

vc_reset()
{

vcom_stat 2
vcom_rst -f 2
vcom_vld /usr/src/vcom_rel5/x25.lod 2
/usr/src/vcom_rel5/sbeux/x25utils/vcomdl/vcom_cfg 2
}

#SPEEDS="1638400 512000"
SPEEDS="1638400 512000 64000 56000"
PKTS="5000"
PKT_SZ="124 252 508 1020 2044 4086"
#PKT_SZ="508 1020 2044 4086"

for i in $SPEEDS
do

vc_reset

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

	for	k in $PKTS
	do
		echo "-----------------------------------------------------------------" >> fdx.log
		echo "#### SPEED=$i, PKTS=$k, SIZE=$j ########" >> fdx.log
		./llsink -b2 -sa >> fdx.log 2>&1 &
		./llsrc -b2 -sc -n$k -z$j >> fdx.log 2>&1
	wait
	done
done

done
