#!/usr/bin/env bash
usage=$'Usage: tcp-udp-tunnel-test.sh [tcp|udp][4|6]'
if [ $# != 1 ]
then
    echo "$usage"
    exit
fi
source ../multi-host.conf
if [[ ($1 = "tcp4") || ($1 = "udp4") ]]
then
    ipaddr="$IP4_D1"
else
    ipaddr="[$IP6_D1]"
fi
echo "host D IP address $ipaddr"

mkdir -p logs/$1

clean_up() {
    r=$(ssh $CTRL_D "sudo killall ndn-traffic-server;\
        sleep 1;\
        sudo killall nfd" 2>&1)
    r=$(sudo killall nfd 2>&1)
}

# start nfd on host A
sudo nfd &> logs/$1/nfd.log &
sleep 2

# start nfd and ndn-traffic-server on host D
echo "starting nfd and ndn-traffic-server on host D..."
workdir=$(pwd)
ssh $CTRL_D "mkdir -p $workdir/logs/$1;\
    sudo nfd &> $workdir/logs/$1/nfd.log &\
    sleep 3;\
    ndn-traffic-server $workdir/NDNTrafficServer.conf > $workdir/logs/$1/server.log 2>&1 &"
sleep 5

# open a tunnel from host A to host D and set nexthop of ndn:/tunnel-test to D
echo "preparing tunnel..."
nfdc face create $1://$ipaddr
nfdc route add ndn:/tunnel-test $1://$ipaddr

# run ndn-traffic client
echo "running ndn-traffic client..."
ndn-traffic -c 100 -i 100 NDNTrafficClient.conf > logs/$1/client.log 2>&1

# stop nfd on hostA
echo "stopping nfd on host A..."
sudo killall nfd

# stop ndn-traffic-server and nfd on hostD
echo "stopping ndn-traffic-server and nfd on host D..."
clean_up

# examine client log
echo "analyzing results..."
output=$(grep "Total Interest Loss" $workdir/logs/$1/client.log | head -1 | cut -d= -f2 | cut -d' ' -f2 | cut -d% -f1)
if [[ $output != 0?(.+(0)) ]]
then
    echo "Expected no Interest Loss. Actual: $output%"
    echo "For more information, please examine the log at \"$(pwd)/logs/$1\""
    exit 2
fi
echo "Tunnel Test PASSED"
