#!/bin/sh
#This script will flush WAN static route when WAN cable plugged off.
flush_classless_routers() {
	bak=$IFS
	IFS=$'\n'
	#flush DHCP RFC_249/121/33 option routes
	for i in `cat /tmp/udhcpc_added_routes`
	do
		local target=`echo $i |cut -f1 -d'/'`
		local mask=`echo $i |cut -f2 -d'/'`
		local gw=`echo $i |cut -f3 -d'/'`
		Rt=`route -n | sed '1,2d' | awk '{print $1}'`
		if [ -n "`echo $Rt | grep $target`" ];then
			/sbin/route del -net $target netmask $mask gw $gw >&- 2>&-
		fi
	done
	IFS=$bak
	rm /tmp/udhcpc_added_routes
}	
 
num=1
line=`config get static_router$num`
if [ -f "/tmp/udhcpc_added_routes" ]; then
	udhcpc_added_route=`cat /tmp/udhcpc_added_routes`
	[ "X$udhcpc_added_route" != "X" ] && flush_classless_routers 
fi
while [ "X$line" != "X" ]
do
       wanlan=$(echo $line | awk '{print $NF}')
       if [ $wanlan -eq 0 ]; then
               dest=$(echo $line | awk '{print $4}')
               mask=$(echo $line | awk '{print $5}')
               gw=$(echo $line | awk '{print $6}')
               echo "Delete static route: $dest"
               /sbin/route del -net $dest netmask $mask gw $gw >&- 2>&-
       fi
       num=$(($num+1))
       line=`config get static_router$num`
done

