diff --git a/package/firewall/Makefile b/package/firewall/Makefile
index 6106348156a7869d469230bcc41c34e5cb55f1bb..3c5e10fe9daf6bf08e6de10549c950e1c3b5734d 100644
--- a/package/firewall/Makefile
+++ b/package/firewall/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=firewall
 
 PKG_VERSION:=2
-PKG_RELEASE:=42
+PKG_RELEASE:=43
 
 include $(INCLUDE_DIR)/package.mk
 
diff --git a/package/firewall/files/firewall.config b/package/firewall/files/firewall.config
index 4ba165fcc628ff17e05eb73339fe832b85e3d798..77832ffaca9bff75c5ebc0c46375683bb0fe1a54 100644
--- a/package/firewall/files/firewall.config
+++ b/package/firewall/files/firewall.config
@@ -29,6 +29,7 @@ config forwarding
 # We need to accept udp packets on port 68,
 # see https://dev.openwrt.org/ticket/4108
 config rule
+	option name		Allow-DHCP-Renew
 	option src		wan
 	option proto		udp
 	option dest_port	68
@@ -37,6 +38,7 @@ config rule
 
 # Allow IPv4 ping
 config rule
+	option name		Allow-Ping
 	option src		wan
 	option proto		icmp
 	option icmp_type	echo-request
@@ -46,6 +48,7 @@ config rule
 # Allow DHCPv6 replies
 # see https://dev.openwrt.org/ticket/10381
 config rule
+	option name		Allow-DHCPv6
 	option src		wan
 	option proto		udp
 	option src_ip		fe80::/10
@@ -57,6 +60,7 @@ config rule
 
 # Allow essential incoming IPv6 ICMP traffic
 config rule
+	option name		Allow-ICMPv6-Input
 	option src		wan
 	option proto	icmp
 	list icmp_type		echo-request
@@ -73,6 +77,7 @@ config rule
 
 # Allow essential forwarded IPv6 ICMP traffic
 config rule                                   
+	option name		Allow-ICMPv6-Forward
 	option src		wan
 	option dest		*
 	option proto		icmp
diff --git a/package/firewall/files/lib/config.sh b/package/firewall/files/lib/config.sh
index 996cef884d14d7fa348c5b72b4e9fb289f3e5e91..8b2399fc8e0595560c817c7702391d65c57587b7 100644
--- a/package/firewall/files/lib/config.sh
+++ b/package/firewall/files/lib/config.sh
@@ -34,7 +34,11 @@ fw_config_get_section() { # <config> <prefix> <type> <name> <default> ...
 		export ${NO_EXPORT:+-n} -- "${prefix}NAME"="${config}"
 		config_get "${prefix}TYPE" "$config" TYPE
 	}
-	
+
+	local enabled
+	config_get_bool enabled "$config" enabled 1
+	[ $enabled -eq 1 ] || return 1
+
 	[ "$1" == '{' ] && shift
 	while [ $# -ge 3 ]; do
 		local type=$1