kernel: fix another corner case in the bridge state patch (#13874)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 15 Jul 2013 15:12:33 +0000 (15:12 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 15 Jul 2013 15:12:33 +0000 (15:12 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37347 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/patches-3.10/120-bridge_allow_receiption_on_disabled_port.patch
target/linux/generic/patches-3.9/120-bridge_allow_receiption_on_disabled_port.patch

index 5d1661c..f64db0f 100644 (file)
@@ -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))
index 5d1661c..f64db0f 100644 (file)
@@ -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))