Lars Persson lists@bofh.nu reported that a label was unused in the previous version of this patchset, so I'm sending a v2 that fixes it.
Sorry for the mess/v2.
v2 changes: handle overlapping fragments the way it is done upstream.
This is a backport of a 5.1rc patchset: https://patchwork.ozlabs.org/cover/1029418/
Which was backported into 4.19: https://patchwork.ozlabs.org/cover/1081619/
I had to backport two additional patches into 4.14 to make it work.
John Masinter (captwiggum), could you, please, confirm that this patchset fixes TAHI tests? (I'm reasonably certain that it does, as I ran ip_defrag selftest, but given the amount of changes here, another set of completed tests would be nice to have).
Eric Dumazet (1): ipv6: frags: fix a lockdep false positive
Florian Westphal (1): ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
Peter Oskolkov (3): net: IP defrag: encapsulate rbtree defrag code into callable functions net: IP6 defrag: use rbtrees for IPv6 defrag net: IP6 defrag: use rbtrees in nf_conntrack_reasm.c
include/net/inet_frag.h | 16 +- include/net/ipv6.h | 29 -- include/net/ipv6_frag.h | 111 +++++++ net/ieee802154/6lowpan/reassembly.c | 2 +- net/ipv4/inet_fragment.c | 293 +++++++++++++++++ net/ipv4/ip_fragment.c | 302 +++--------------- net/ipv6/netfilter/nf_conntrack_reasm.c | 279 +++++------------ net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 3 +- net/ipv6/reassembly.c | 364 ++++++---------------- net/openvswitch/conntrack.c | 1 + 10 files changed, 627 insertions(+), 773 deletions(-) create mode 100644 include/net/ipv6_frag.h