From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 15 Jul 2013 15:12:33 +0000 (+0000)
Subject: kernel: fix another corner case in the bridge state patch (#13874)
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a6db996b134ba48805bca692b904ef7805711e8c;p=openwrt%2Fstaging%2Fansuel.git

kernel: fix another corner case in the bridge state patch (#13874)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37347
---

diff --git a/target/linux/generic/patches-3.10/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/patches-3.10/120-bridge_allow_receiption_on_disabled_port.patch
index 5d1661c1b7..f64db0fa3c 100644
--- a/target/linux/generic/patches-3.10/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/patches-3.10/120-bridge_allow_receiption_on_disabled_port.patch
@@ -38,8 +38,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  forward:
  	switch (p->state) {
 +	case BR_STATE_DISABLED:
-+		if (!ether_addr_equal(p->br->dev->dev_addr, dest))
-+			goto drop;
++		if (ether_addr_equal(p->br->dev->dev_addr, dest))
++			skb->pkt_type = PACKET_HOST;
 +
 +		if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
 +			br_handle_local_finish))
diff --git a/target/linux/generic/patches-3.9/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/patches-3.9/120-bridge_allow_receiption_on_disabled_port.patch
index 5d1661c1b7..f64db0fa3c 100644
--- a/target/linux/generic/patches-3.9/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/patches-3.9/120-bridge_allow_receiption_on_disabled_port.patch
@@ -38,8 +38,8 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  forward:
  	switch (p->state) {
 +	case BR_STATE_DISABLED:
-+		if (!ether_addr_equal(p->br->dev->dev_addr, dest))
-+			goto drop;
++		if (ether_addr_equal(p->br->dev->dev_addr, dest))
++			skb->pkt_type = PACKET_HOST;
 +
 +		if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
 +			br_handle_local_finish))