[netfilter-cvslog] r3776 - trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter

yasuyuki at netfilter.org yasuyuki at netfilter.org
Wed Mar 9 20:27:51 CET 2005


Author: yasuyuki at netfilter.org
Date: 2005-03-09 20:27:50 +0100 (Wed, 09 Mar 2005)
New Revision: 3776

Modified:
   trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c
Log:
hash function should not use 'dir' field.



Modified: trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c
===================================================================
--- trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c	2005-03-09 16:37:30 UTC (rev 3775)
+++ trunk/patch-o-matic-ng/nf_conntrack/linux-2.6/net/netfilter/nf_conntrack_core.c	2005-03-09 19:27:50 UTC (rev 3776)
@@ -137,9 +137,14 @@
 static u_int32_t
 hash_conntrack(const struct nf_conntrack_tuple *tuple)
 {
-	return (jhash((void *)tuple, sizeof(struct nf_conntrack_tuple),
-		      nf_conntrack_hash_rnd)
-		% nf_conntrack_htable_size);
+	unsigned int a, b;
+	a = jhash((void *)tuple->src.u3.all, sizeof(tuple->src.u3.all),
+		  ((tuple->src.l3num) << 16) | tuple->dst.protonum);
+	b = jhash((void *)tuple->dst.u3.all, sizeof(tuple->dst.u3.all),
+			(tuple->src.u.all << 16) | tuple->dst.u.all);
+
+	return jhash_2words(a, b, nf_conntrack_hash_rnd)
+	       % nf_conntrack_htable_size;
 }
 
 struct nf_conn *




More information about the netfilter-cvslog mailing list