summaryrefslogtreecommitdiff
path: root/net/bridge/br_forward.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2015-03-05 02:52:33 +0300
committerPablo Neira Ayuso <pablo@netfilter.org>2015-03-09 15:20:48 +0300
commit8bd63cf1a426e69bf4f611b08978f721e46c194f (patch)
tree007963a3e6a1530e407652fcec662708ec59c20b /net/bridge/br_forward.c
parent1cae565e8b746f484f1ff1b71d2a1c89d7cf0668 (diff)
downloadlinux-8bd63cf1a426e69bf4f611b08978f721e46c194f.tar.xz
bridge: move mac header copying into br_netfilter
The mac header only has to be copied back into the skb for fragments generated by ip_fragment(), which only happens for bridge forwarded packets with nf-call-iptables=1 && active nf_defrag. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/bridge/br_forward.c')
-rw-r--r--net/bridge/br_forward.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
index f96933a823e3..32541d4f72e8 100644
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -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);