diff options
Diffstat (limited to 'net/ipv6/ip6_output.c')
| -rw-r--r-- | net/ipv6/ip6_output.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index dbd9767b32e4..c1fa693511a1 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c | |||
| @@ -441,9 +441,15 @@ static void ip6_copy_metadata(struct sk_buff *to, struct sk_buff *from) | |||
| 441 | #ifdef CONFIG_NETFILTER | 441 | #ifdef CONFIG_NETFILTER | 
| 442 | to->nfmark = from->nfmark; | 442 | to->nfmark = from->nfmark; | 
| 443 | /* Connection association is same as pre-frag packet */ | 443 | /* Connection association is same as pre-frag packet */ | 
| 444 | nf_conntrack_put(to->nfct); | ||
| 444 | to->nfct = from->nfct; | 445 | to->nfct = from->nfct; | 
| 445 | nf_conntrack_get(to->nfct); | 446 | nf_conntrack_get(to->nfct); | 
| 446 | to->nfctinfo = from->nfctinfo; | 447 | to->nfctinfo = from->nfctinfo; | 
| 448 | #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) | ||
| 449 | nf_conntrack_put_reasm(to->nfct_reasm); | ||
| 450 | to->nfct_reasm = from->nfct_reasm; | ||
| 451 | nf_conntrack_get_reasm(to->nfct_reasm); | ||
| 452 | #endif | ||
| 447 | #ifdef CONFIG_BRIDGE_NETFILTER | 453 | #ifdef CONFIG_BRIDGE_NETFILTER | 
| 448 | nf_bridge_put(to->nf_bridge); | 454 | nf_bridge_put(to->nf_bridge); | 
| 449 | to->nf_bridge = from->nf_bridge; | 455 | to->nf_bridge = from->nf_bridge; | 
