#!/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 "
TYPE = LAPB
LAPB_MODE = DCE
LAPB_phy_if = DCE
LAPB_MAXFRAME = 4096
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
LAPB_N2 = 25
LAPB_BAUD = $1
DEFWSIZE=7 " > /tmp/lapbport.1A

if [ $1 != 2000000 -a $1 != 512000 ]
then
echo "
LAPB_T1 = 150
LAPB_TBUSY = 200
LAPB_TPF = 200
LAPB_TREJ = 200 " >> /tmp/lapbport.1A
fi

echo "
TYPE = LAPB
LAPB_MODE = DTE
LAPB_phy_if = DTE
LAPB_MAXFRAME = 4096
DEFWSIZE=7
LAPB_N2 = 25
LAPB_ACK_DELAY = 1
LAPB_NOTACK_MAX = 2
LAPB_BAUD = 0 " > /tmp/lapbport.1B

if [ $1 != 2000000 -a $1 != 512000 ]
then
echo "
LAPB_T1 = 150
LAPB_TBUSY = 200
LAPB_TPF = 200
LAPB_TREJ = 200
LAPB_BAUD = 0 " >> /tmp/lapbport.1B
fi

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

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

xcf -b1 /tmp/lapbport
rm /tmp/lapbport.*
}

vc_reset()
{

vcom_rst -f 1

vcom_vld 1
vcom_cfg 1
}

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

for i in $SPEEDS
do

xcf_config $i
vc_reset

for j in $PKT_SZ
do
	for	k in $PKTS
	do
		echo "-----------------------------------------------------------------"
		echo "#### SPEED=$i, PKTS=$k, SIZE=$j ########"
		./llsink -b1 -sa &
		./llsrc -b1 -sb -n$k -z$j
	wait
	done
done

done
