patch-2.3.50 linux/net/core/skbuff.c

Next file: linux/net/ipv4/ip_output.c
Previous file: linux/net/core/netfilter.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.49/linux/net/core/skbuff.c linux/net/core/skbuff.c
@@ -4,7 +4,7 @@
  *	Authors:	Alan Cox <iiitac@pyr.swan.ac.uk>
  *			Florian La Roche <rzsfl@rz.uni-sb.de>
  *
- *	Version:	$Id: skbuff.c,v 1.68 2000/02/18 16:47:18 davem Exp $
+ *	Version:	$Id: skbuff.c,v 1.69 2000/03/06 03:47:58 davem Exp $
  *
  *	Fixes:	
  *		Alan Cox	:	Fixed the worst of the load balancer bugs.
@@ -204,6 +204,7 @@
 	skb->rx_dev = NULL;
 #ifdef CONFIG_NETFILTER
 	skb->nfmark = skb->nfreason = skb->nfcache = 0;
+	skb->nfct = NULL;
 #ifdef CONFIG_NETFILTER_DEBUG
 	skb->nf_debug = 0;
 #endif
@@ -246,6 +247,9 @@
 		}
 		skb->destructor(skb);
 	}
+#ifdef CONFIG_NETFILTER
+	nf_conntrack_put(skb->nfct);
+#endif
 #ifdef CONFIG_NET		
 	if(skb->rx_dev)
 		dev_put(skb->rx_dev);
@@ -282,6 +286,9 @@
 	n->is_clone = 1;
 	atomic_set(&n->users, 1);
 	n->destructor = NULL;
+#ifdef CONFIG_NETFILTER
+	nf_conntrack_get(skb->nfct);
+#endif
 	return n;
 }
 
@@ -314,6 +321,8 @@
 	new->nfmark=old->nfmark;
 	new->nfreason=old->nfreason;
 	new->nfcache=old->nfcache;
+	new->nfct=old->nfct;
+	nf_conntrack_get(new->nfct);
 #ifdef CONFIG_NETFILTER_DEBUG
 	new->nf_debug=old->nf_debug;
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)