summaryrefslogtreecommitdiffstats
path: root/br-nf-bds
diff options
context:
space:
mode:
authorBart De Schuymer <bdschuym@pandora.be>2002-10-21 17:34:03 +0000
committerBart De Schuymer <bdschuym@pandora.be>2002-10-21 17:34:03 +0000
commitb5267b4a899691152d48daddc890fa56060ab4d1 (patch)
tree4b6067cf4f8c8e77e79d48580f6375a24ec68798 /br-nf-bds
parent5a26c697c0df5323c0dddeeb7d18f0e45f291168 (diff)
Copy Ethernet header here, remove nf_bridge_alloc call
Diffstat (limited to 'br-nf-bds')
-rw-r--r--br-nf-bds/linux2.5/net/bridge/br_forward.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/br-nf-bds/linux2.5/net/bridge/br_forward.c b/br-nf-bds/linux2.5/net/bridge/br_forward.c
index 2d4fdf9..52c401d 100644
--- a/br-nf-bds/linux2.5/net/bridge/br_forward.c
+++ b/br-nf-bds/linux2.5/net/bridge/br_forward.c
@@ -5,7 +5,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br_forward.c,v 1.5 2002/10/19 14:27:20 bdschuym Exp $
+ * $Id: br_forward.c,v 1.6 2002/10/21 17:34:03 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -32,12 +32,11 @@ static inline int should_deliver(struct net_bridge_port *p, struct sk_buff *skb)
int br_dev_queue_push_xmit(struct sk_buff *skb)
{
- skb_push(skb, ETH_HLEN);
-
#ifdef CONFIG_NETFILTER
- if (skb->nf_bridge->mask & BRNF_COPY_HEADER)
+ if (skb->nf_bridge)
memcpy(skb->data - 16, skb->nf_bridge->hh, 16);
#endif
+ skb_push(skb, ETH_HLEN);
dev_queue_xmit(skb);
@@ -58,13 +57,7 @@ static void __br_deliver(struct net_bridge_port *to, struct sk_buff *skb)
#ifdef CONFIG_NETFILTER_DEBUG
skb->nf_debug = 0;
#endif
-#ifdef CONFIG_NETFILTER
- /* Used by br_netfilter.c */
- if (!skb->nf_bridge && nf_bridge_alloc(skb) == NULL)
- kfree_skb(skb);
- else
-#endif
- NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
+ NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
br_forward_finish);
}