compat: nf_defrag_ipv6: avoid/free clone operations.
authorJoe Stringer <joe@ovn.org>
Mon, 2 May 2016 18:19:13 +0000 (11:19 -0700)
committerJoe Stringer <joe@ovn.org>
Tue, 3 May 2016 00:06:36 +0000 (17:06 -0700)
commit4b65333195848bee09add1347fc7410add1bd62b
tree1d4927247069ada218d8d097e7f3c360d4502346
parent01f35e09e07c9413596ce8055a891106bd3e2c6e
compat: nf_defrag_ipv6: avoid/free clone operations.

Upstream commit:
    netfilter: ipv6: nf_defrag: avoid/free clone operations

    commit 6aafeef03b9d9ecf
    ("netfilter: push reasm skb through instead of original frag skbs")
    changed ipv6 defrag to not use the original skbs anymore.

    So rather than keeping the original skbs around just to discard them
    afterwards just use the original skbs directly for the fraglist of
    the newly assembled skb and remove the extra clone/free operations.

    The skb that completes the fragment queue is morphed into a the
    reassembled one instead, just like ipv4 defrag.

    openvswitch doesn't need any additional skb_morph magic anymore to deal
    with this situation so just remove that.

    A followup patch can then also remove the NF_HOOK (re)invocation in
    the ipv6 netfilter defrag hook.

Cc: Joe Stringer <joestringer@nicira.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Upstream: 029f7f3b8701 ("netfilter: ipv6: nf_defrag: avoid/free clone operations")
Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Jesse Gross <jesse@kernel.org>
datapath/conntrack.c
datapath/linux/compat/include/net/netfilter/ipv6/nf_defrag_ipv6.h
datapath/linux/compat/nf_conntrack_reasm.c