#!/bin/sh

MYPIDFILE=/var/run/l2tp/ip-up.pid
echo "$$" > $MYPIDFILE

LOGGER="/bin/logger -t $0 PPP_L2TP UP "

# save parameters
INTERFACE_NAME=$1
TTY_DEVICE=$2
SPEED=$3
LOCAL_IP_ADDRESS=$4
REMOTE_IP_ADDRESS=$5
IPPARAM=$6

# print environment to log
printEnv () {
    $LOGGER "DEVICE=$DEVICE"
    $LOGGER "IFNAME=$IFNAME"
    $LOGGER "IPLOCAL=$IPLOCAL"
    $LOGGER "IPREMOTE=$IPREMOTE"
    $LOGGER "PEERNAME=$PEERNAME"
    $LOGGER "SPEED=$SPEED"
    $LOGGER "ORIG_UID=$ORIG_UID"
    $LOGGER "PPPLOGNAME=$PPPLOGNAME"
    $LOGGER "DNS1=$DNS1"
    $LOGGER "DNS2=$DNS2"
    $LOGGER "LINKNAME=$LINKNAME"
    $LOGGER "IPPARAM=$IPPARAM"
}

dumpData () {
    DUMPFILE="/var/run/l2tp/$LINKNAME.up"
#    PID=`cat /var/run/$IFNAME.pid`
    echo "IFNAME=$IFNAME"	>  $DUMPFILE
    echo "IPCLIENT=$IPPARAM"	>> $DUMPFILE
    echo "IPLOCAL=$IPLOCAL"	>> $DUMPFILE
    echo "IPREMOTE=$IPREMOTE"	>> $DUMPFILE
    echo "LINKNAME=$LINKNAME"	>> $DUMPFILE
#    echo "PID=$PID"		>> $DUMPFILE
}
##################################################
$LOGGER "Start"

printEnv

if [ "$LINKNAME" != "" ]; then
    dumpData
    /bin/cac-helper -a -t "l2tp" -n "L2TP:$LINKNAME" -i "$IPREMOTE"
    /bin/addroute -b -v "L2TP:$LINKNAME" -i "$IFNAME" > /dev/null 2>&1
    test=$(/bin/translate 'L2TP-Tunnel to $LINKNAME successfully started')
    /bin/raise_event -a VPN -n "Tunnel Started" -t "$test" > /dev/null 2>&1
fi

MASTERPID=$(/bin/cat /var/run/l2tpd.pid)
/bin/touch /var/run/l2tp/pids.store
/bin/modifycf -c /var/run/l2tp/pids.store -k "$LINKNAME" -v "$MASTERPID"

# inform cm
/bin/notifier -routechange &

rm $MYPIDFILE
$LOGGER "End"
exit 0
