#!/bin/sh
ENABLE_LAN2=$(uci get routing.lan2.enable 2>/dev/null || echo 0)

#echo "MMMMMM ENABLE_LAN2 $ENABLE_LAN2 FW_TYPE $FW_TYPE ACTION $ACTION INTERFACE $INTERFACE" > /dev/console

[ "$INTERFACE" = "lan" ] && {
	[ "$ENABLE_LAN2" = "1" -a "$ACTION" = "ifup" ] && ACT="add" || ACT="del"
	LAN2_IP=$(uci get routing.lan2.lan2_ip 2>/dev/null || echo "192.168.2.1")
	LAN2_MASK=$(uci get routing.lan2.lan2_mask 2>/dev/null || echo "255.255.255.0")
	LAN_IP=$(uci -q get network.lan.ipaddr)
    [ "$LAN_IP" = "$LAN2_IP" ] || ip addr "$ACT" "$LAN2_IP"/"$LAN2_MASK" dev br-lan
}

[ "$ENABLE_LAN2" = "1" -a "$ACTION" = "ifup" ] && {
	LAN2_IP=$(uci get routing.lan2.lan2_ip 2>/dev/null || echo "192.168.2.1")
	LAN2_MASK=$(uci get routing.lan2.lan2_mask 2>/dev/null || echo "255.255.255.0")
	WAN_IP=$(uci -q -P /var/state get network.wan.ipaddr)
	WAN_MASK=$(uci -q -P /var/state get network.wan.netmask)
	WAN_NET=$(ipcalc.sh $WAN_IP $WAN_MASK | grep NETWORK | cut -d "=" -f 2)
	LAN2_NET=$(ipcalc.sh $LAN2_IP $LAN2_MASK | grep NETWORK | cut -d "=" -f 2)
	[ "$WAN_NET" != "0.0.0.0" -a "$WAN_NET" = "$LAN2_NET" -a "$WAN_MASK" = "$LAN2_MASK" ] && {	#unnumbered
		route del -net $WAN_NET netmask $WAN_MASK dev br-wan
	}
	
	ENABLE_HNAT=$(uci -q get routing.lan2.hnat 2>/dev/null || echo 0)
	if [ "$ENABLE_HNAT" = "1" ]; then 
		LAN2_PREFIX=$(ipcalc.sh $LAN2_IP $LAN2_MASK | grep PREFIX | cut -d '=' -f 2)
		echo "interouting clean" | shnat_cli
		echo "interouting set index:1 sip:$LAN2_IP/$LAN2_PREFIX" | shnat_cli
		echo "interouting set index:2 dip:$LAN2_IP/$LAN2_PREFIX wanrule" | shnat_cli	
	else
		echo "interouting clean" | shnat_cli
	fi
}
