ipv6: reassembly: use seperate reassembly queues for conntrack and local delivery
commit 0b5ccb2e upstream. Currently the same reassembly queue might be used for packets reassembled by conntrack in different positions in the stack (PREROUTING/LOCAL_OUT), as well as local delivery. This can cause "packet jumps" when the fragment completing a reassembled packet is queued from a different position in the stack than the previous ones. Add a "user" identifier to the reassembly queue key to seperate the queues of each caller, similar to what we do for IPv4. Signed-off-by:Patrick McHardy <kaber@trash.net> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
Showing
- include/net/ipv6.h 7 additions, 0 deletionsinclude/net/ipv6.h
- include/net/netfilter/ipv6/nf_conntrack_ipv6.h 1 addition, 1 deletioninclude/net/netfilter/ipv6/nf_conntrack_ipv6.h
- net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c 11 additions, 2 deletionsnet/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
- net/ipv6/netfilter/nf_conntrack_reasm.c 4 additions, 3 deletionsnet/ipv6/netfilter/nf_conntrack_reasm.c
- net/ipv6/reassembly.c 4 additions, 1 deletionnet/ipv6/reassembly.c
Please register or sign in to comment