#!/bin/sh
#
#	@author Forrest Lin
#

eval `/sbin/sncfg mget WanIf WanType WAN_IP_REQUEST_TIMEOUT LanIf WAN_IP WAN_MASK WAN_MTU WAN_GATEWAY LanIf WAN_PROTO WAN_GRE_LocalIP WAN_PPP_TRIGGER`

wanlinkup() {
	[ -z "$WanIf" ] && return
	case "$WanType" in
		static)
			export interface=$WanIf
			export ip=$WAN_IP
			export subnet=$WAN_MASK
			export mtu=$WAN_MTU
			export router=$WAN_GATEWAY
			/sbin/udhcpc.script bound
		;;
		pppoe)			
			/sbin/sncfg set WAN_PPP_STATUS Disconnected
			if [ "$WAN_PPP_TRIGGER" == "1" ] ; then
				/etc/init.d/pppoe connectmonitor
			fi
		;;
		*|dhcpc)
			/etc/init.d/dhcpc start $WanIf
		;;
	esac
}	
	
wanlinkdown() {
	[ -z "$WanIf" ] && ret=1 && return

	case "$WanType" in
		static)
			export interface=$WanIf
			/sbin/udhcpc.script deconfig
		;;
		pppoe)
			/etc/init.d/pppoe disconnect
			export interface=$WanIf
			/sbin/udhcpc.script deconfig
		;;
		*|dhcpc)
			/etc/init.d/dhcpc stop $WanIf
			export interface=$WanIf
			/sbin/udhcpc.script deconfig
		;;
	esac
}	

case "$1" in
	linkup)
		echo "[WAN] $WanIf link up"
		wanlinkup
	;;
	linkdown)
		echo "[WAN] $WanIf link down"
		wanlinkdown
	;;
	*)
		usage
	;;
esac
