[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B5EE2C6.6010802@cn.fujitsu.com>
Date: Tue, 26 Jan 2010 20:40:38 +0800
From: Shan Wei <shanwei@...fujitsu.com>
To: David Miller <davem@...emloft.net>
CC: kaber@...sh.net, yasuyuki.kozakai@...hiba.co.jp,
netfilter-devel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH 1/2] IPv6: conntrack: Use protocol-related initialization
routine to initial queues of IPv6 connection track
David Miller wrote, at 01/26/2010 03:32 PM:
> From: Shan Wei <shanwei@...fujitsu.com>
> 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@...fujitsu.com>
>
> This breakage was recently introduced by:
>
> commit 0b5ccb2ee250136dd7385b1c7da28417d0d4d32d
> Author: Patrick McHardy <kaber@...sh.net>
> 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@...fujitsu.com>
---
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 netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists