#!/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

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/nfd.log &
sleep 2
nrd &> logs/nrd.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;\
    sudo nfd &> $workdir/logs/nfd.log &\
    sleep 3;\
    nrd &> $workdir/logs/nrd.log &\
    sleep 3;\
    ndn-traffic-server $workdir/NDNTrafficServer.conf > $workdir/logs/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..."
faceid=$(nfdc create $1://$ipaddr | grep -Po 'FaceId: .*?,' | sed 's/FaceId: //' | sed 's/,//')
if [[ -z $faceid ]]
then
    echo "Fail to create face"
    clean_up
    exit 1
fi
nfdc add-nexthop ndn:/tunnel-test $faceid

# run ndn-traffic client
echo "running ndn-traffic client..."
ndn-traffic -c 100 -i 100 NDNTrafficClient.conf > logs/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/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\""
    exit 2
fi
echo "Tunnel Test PASSED"
