From c96e724b48fabf7f8e7dcf0f763cde12563fb678 Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Sat, 24 Aug 2002 16:23:01 +0000 Subject: *** empty log message *** --- br-nf-bds/linux/net/core/netfilter.c | 6 ++++++ br-nf-bds/linux/net/core/skbuff.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'br-nf-bds/linux/net/core') diff --git a/br-nf-bds/linux/net/core/netfilter.c b/br-nf-bds/linux/net/core/netfilter.c index 198dad6..1a1cb88 100644 --- a/br-nf-bds/linux/net/core/netfilter.c +++ b/br-nf-bds/linux/net/core/netfilter.c @@ -418,8 +418,10 @@ static void nf_queue(struct sk_buff *skb, { int status; struct nf_info *info; +#ifdef CONFIG_BRIDGE_NF struct net_device *physindev; struct net_device *physoutdev; +#endif if (!queue_handler[pf].outfn) { kfree_skb(skb); @@ -442,16 +444,20 @@ static void nf_queue(struct sk_buff *skb, if (indev) dev_hold(indev); if (outdev) dev_hold(outdev); +#ifdef CONFIG_BRIDGE_NF if ((physindev = skb->physindev)) dev_hold(physindev); if ((physoutdev = skb->physoutdev)) dev_hold(physoutdev); +#endif status = queue_handler[pf].outfn(skb, info, queue_handler[pf].data); if (status < 0) { /* James M doesn't say fuck enough. */ if (indev) dev_put(indev); if (outdev) dev_put(outdev); +#ifdef CONFIG_BRIDGE_NF if (physindev) dev_put(physindev); if (physoutdev) dev_put(physoutdev); +#endif kfree(info); kfree_skb(skb); return; diff --git a/br-nf-bds/linux/net/core/skbuff.c b/br-nf-bds/linux/net/core/skbuff.c index d492fed..0e9e70b 100644 --- a/br-nf-bds/linux/net/core/skbuff.c +++ b/br-nf-bds/linux/net/core/skbuff.c @@ -4,7 +4,7 @@ * Authors: Alan Cox * Florian La Roche * - * Version: $Id: skbuff.c,v 1.2 2002/08/24 08:45:29 bdschuym Exp $ + * Version: $Id: skbuff.c,v 1.3 2002/08/24 16:24:13 bdschuym Exp $ * * Fixes: * Alan Cox : Fixed the worst of the load balancer bugs. @@ -231,8 +231,10 @@ static inline void skb_headerinit(void *p, kmem_cache_t *cache, skb->sk = NULL; skb->stamp.tv_sec=0; /* No idea about time */ skb->dev = NULL; +#ifdef CONFIG_BRIDGE_NF skb->physindev = NULL; skb->physoutdev = NULL; +#endif skb->dst = NULL; memset(skb->cb, 0, sizeof(skb->cb)); skb->pkt_type = PACKET_HOST; /* Default type */ @@ -364,8 +366,10 @@ struct sk_buff *skb_clone(struct sk_buff *skb, int gfp_mask) n->sk = NULL; C(stamp); C(dev); +#ifdef CONFIG_BRIDGE_NF C(physindev); C(physoutdev); +#endif C(h); C(nh); C(mac); @@ -421,8 +425,10 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old) new->list=NULL; new->sk=NULL; new->dev=old->dev; +#ifdef CONFIG_BRIDGE_NF new->physindev=old->physindev; new->physoutdev=old->physoutdev; +#endif new->priority=old->priority; new->protocol=old->protocol; new->dst=dst_clone(old->dst); -- cgit v1.2.3