]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/bridge/br_forward.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
[karo-tx-linux.git] / net / bridge / br_forward.c
index f96933a823e327fe56f64d1005101309e78a8e49..3304a544233174a3d1c7474cb19fffc05483be78 100644 (file)
@@ -37,9 +37,7 @@ static inline int should_deliver(const struct net_bridge_port *p,
 
 int br_dev_queue_push_xmit(struct sk_buff *skb)
 {
-       /* ip_fragment doesn't copy the MAC header */
-       if (nf_bridge_maybe_copy_header(skb) ||
-           !is_skb_forwardable(skb->dev, skb)) {
+       if (!is_skb_forwardable(skb->dev, skb)) {
                kfree_skb(skb);
        } else {
                skb_push(skb, ETH_HLEN);
@@ -188,6 +186,9 @@ static void br_flood(struct net_bridge *br, struct sk_buff *skb,
                /* Do not flood to ports that enable proxy ARP */
                if (p->flags & BR_PROXYARP)
                        continue;
+               if ((p->flags & BR_PROXYARP_WIFI) &&
+                   BR_INPUT_SKB_CB(skb)->proxyarp_replied)
+                       continue;
 
                prev = maybe_deliver(prev, p, skb, __packet_hook);
                if (IS_ERR(prev))