#!/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.1A

if [ $1 != 2000000 -a $1 != 500000 -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.1A
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.1C

if [ $1 != 2000000 -a $1 != 500000 -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.1C
fi

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

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

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

vc_reset()
{

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

SPEEDS="2000000 500000 64516 57142"
PKTS="5000"
PKT_SZ="124 252 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 -b1 -sa >> fdx.log 2>&1 &
		./llsrc -b1 -sc -n$k -z$j >> fdx.log 2>&1
	wait
	done
done

done
