return RX_HANDLER_CONSUMED; /* consumed by filter */
} else {
@@ -224,7 +224,7 @@ forward:
- 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,
+ if (BR_HOOK(NFPROTO_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
if (vlan_tx_tag_present(skb))
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
-@@ -699,15 +699,29 @@ static inline u16 br_get_pvid(const stru
+@@ -696,15 +696,29 @@ static inline u16 br_get_pvid(const stru
/* br_netfilter.c */
#ifdef CONFIG_BRIDGE_NETFILTER