diff -u -r -B -X ./excludes.txt ./asuswrt-merlin-380.57-original/release/src/router/rc/wan.c ./asuswrt-merlin-380.57/release/src/router/rc/wan.c
--- ./asuswrt-merlin-380.57-original/release/src/router/rc/wan.c 2015-12-24 16:18:19.000000000 -0500
+++ ./asuswrt-merlin-380.57/release/src/router/rc/wan.c 2016-01-13 18:19:02.080739575 -0500
@@ -3094,8 +3094,16 @@
#endif
#if LINUX_KERNEL_VERSION >= KERNEL_VERSION(2,6,36)
- f_write_string("/proc/sys/net/bridge/bridge-nf-call-iptables", "0", 0, 0);
- f_write_string("/proc/sys/net/bridge/bridge-nf-call-ip6tables", "0", 0, 0);
+ #ifdef RTCONFIG_BCMARM
+ // for ARM platform, we have enabled BRIDGE_NETFILTER and the default behaviour
+ // is to pass bridged IPv4 & IPv6 traffic to iptables' chains
+ f_write_string("/proc/sys/net/bridge/bridge-nf-call-iptables", "1", 0, 0);
+ f_write_string("/proc/sys/net/bridge/bridge-nf-call-ip6tables", "1", 0, 0);
+ #else
+ // for MIPS platform, the BRIDGE_NETFILTER feature is not yet enabled
+ f_write_string("/proc/sys/net/bridge/bridge-nf-call-iptables", "0", 0, 0);
+ f_write_string("/proc/sys/net/bridge/bridge-nf-call-ip6tables", "0", 0, 0);
+ #endif
#endif
/* Report stats */
diff -u -r -B -X ./excludes.txt ./asuswrt-merlin-380.57-original/release/src-rt-6.x.4708/linux/linux-2.6.36/config_base.6a ./asuswrt-merlin-380.57/release/src-rt-6.x.4708/linux/linux-2.6.36/config_base.6a
--- ./asuswrt-merlin-380.57-original/release/src-rt-6.x.4708/linux/linux-2.6.36/config_base.6a 2015-12-24 16:18:19.000000000 -0500
+++ ./asuswrt-merlin-380.57/release/src-rt-6.x.4708/linux/linux-2.6.36/config_base.6a 2016-01-13 18:16:28.112733329 -0500
@@ -476,7 +476,7 @@
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
-# CONFIG_BRIDGE_NETFILTER is not set
+CONFIG_BRIDGE_NETFILTER=y
#
# Core Netfilter Configuration