David Miller wrote, at 01/26/2010 03:32 PM: > From: Shan Wei <shanwei@xxxxxxxxxxxxxx> > Date: Tue, 26 Jan 2010 10:31:10 +0800 > >> IPv6 connection track and IPv6 stack separately use a different queue to >> manage received fragments. The former uses nf_ct_frag6_queue structure, >> the latter uses frag_queue structure. >> >> When creating new queue for IPv6 connection track, ip6_frag_init() >> that belongs to IPv6 stack is called to initial nf_ct_frag6_queue structure. >> This broken the saddr&daddr member in nf_ct_frag6_queue, and then hash value >> generated by nf_hashfn() is not equal with that generated by fq_find(). >> So, a new received fragment can't be inserted to right queue. >> >> The patch fixes the bug with protocol-related initialization routine. >> The patch-set have been tested. >> >> Signed-off-by: Shan Wei <shanwei@xxxxxxxxxxxxxx> > > This breakage was recently introduced by: > > commit 0b5ccb2ee250136dd7385b1c7da28417d0d4d32d > Author: Patrick McHardy <kaber@xxxxxxxxx> > Date: Tue Dec 15 16:59:18 2009 +0100 > > ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery Yes, this patch adds user member to frag_queue structure,but not to nf_ct_frag6_queue structure. Please ignore the patch-set. Can you apply the following patch(bug-fix) to your net-tree? -- [PATCH]IPv6: conntrack: Add member of user to nf_ct_frag6_queue structure The commit 0b5ccb2(title:ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery) has broken the saddr&&daddr member of nf_ct_frag6_queue when creating new queue. And then hash value generated by nf_hashfn() was not equal with that generated by fq_find(). So, a new received fragment can't be inserted to right queue. The patch fixes the bug with adding member of user to nf_ct_frag6_queue structure. Signed-off-by: Shan Wei <shanwei@xxxxxxxxxxxxxx> --- net/ipv6/netfilter/nf_conntrack_reasm.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 312c20a..624a548 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -63,6 +63,7 @@ struct nf_ct_frag6_queue struct inet_frag_queue q; __be32 id; /* fragment id */ + u32 user; struct in6_addr saddr; struct in6_addr daddr; -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html