#!/bin/sh

# $1 - interface
# $2 - device
# $3 - device speed
# $4 - local IP(WAN IP)
# $5 - remote IP(modem IP)
# $6 - ipparam option

export TZ=$(cat /etc/TZ)

logger "ppp ip-up: args:$1,$2,$3,$4,$5,$6: DNS:$USEPEERDNS,$DNS1,$DNS2"

ifconfig $1 txqueuelen 1000

/etc/init.d/tcpdump start

if [ -e /var/run/$1.pid ]; then
    cp /var/run/$1.pid /var/run/$1.pid.bak
fi
    
if [ "$6" = "MODEM" ]; then
    /etc/init.d/S41dns restart
    /etc/init.d/S49ntp restart
    #/etc/init.d/S83openvpn restart

    touch /var/local/telem/was_connected
    ! rm /var/local/telem/ppp-ip-down 2> /dev/null
    
    if [ -f /etc/ppp/resolv.conf ]; then
        cp /etc/ppp/resolv.conf /tmp/resolv.conf.modem
    fi
    
    if [ -f /etc/racoon/ipsec-ip-up ]; then
        /etc/racoon/ipsec-ip-up $1 $4
    fi
elif [ "$6" = "SERIALIF" ]; then
    /etc/init.d/S41dns restart
    /etc/init.d/S49ntp restart
    #/etc/init.d/S83openvpn restart
    if [ -f /etc/racoon/ipsec-ip-up ]; then
        /etc/racoon/ipsec-ip-up $1 $4
    fi
else
    if [ "$USEPEERDNS" = "1" ]; then
        if [ -f /tmp/resolv.conf.modem ]; then
            logger "Restoring /etc/ppp/resolv.conf"
            cp /tmp/resolv.conf.modem /etc/ppp/resolv.conf
            /etc/init.d/S41dns restart
        else
            logger "Deleting /etc/ppp/resolv.conf"
            ! rm /etc/ppp/resolv.conf
        fi
    fi
    
    /etc/ppp/l2tp-ip-up $1 $2 $3 $4 $5 $6
fi

