#!/bin/sh
# Copyright (C) 2009-2013 OpenWrt.org
# Lantronix: LAN/WAN address changes need firewall restart + conntrack flush
# so port-forward DNAT targets are not stuck until reboot.

[ "$ACTION" = ifup -o "$ACTION" = ifupdate ] || exit 0
[ "$ACTION" = ifupdate -a -z "$IFUPDATE_ADDRESSES" -a -z "$IFUPDATE_DATA" ] && exit 0

/etc/init.d/firewall enabled || exit 0

if [ -n "$IFUPDATE_ADDRESSES" ]; then
	logger -t firewall "Restarting firewall due to address $ACTION of $INTERFACE ($DEVICE)"
	/etc/init.d/firewall restart
	exit 0
fi

fw3 -q network "$INTERFACE" >/dev/null || exit 0

logger -t firewall "Reloading firewall due to $ACTION of $INTERFACE ($DEVICE)"
fw3 -q reload

if [ -x /usr/sbin/conntrack ]; then
	conntrack -F >/dev/null 2>&1
elif [ -e /proc/net/nf_conntrack ]; then
	echo f > /proc/net/nf_conntrack 2>/dev/null
fi
