Hi Peter, I forgot to mention one thing about the 4.9 patch set. When patching against 4.9.170, I had to remove a couple of snippets that were already in release: Patch #604 (linux-4.9-4-ip6-defrag-use-rbtrees.patch): + /usr/bin/cat /home/admin/WORK/os/PACKAGES/kernel49/WORK/linux-4.9-4-ip6-defrag-use-rbtrees.patch + /usr/bin/patch -p1 -b --suffix .ip6-4 --fuzz=0 patching file include/net/ipv6_frag.h patching file net/ipv6/reassembly.c Hunk #10 FAILED at 357. Hunk #11 succeeded at 374 (offset -4 lines). 1 out of 11 hunks FAILED -- saving rejects to file net/ipv6/reassembly.c.rej --- net/ipv6/reassembly.c +++ net/ipv6/reassembly.c @@ -357,10 +258,6 @@ return 1; } - if (skb->len - skb_network_offset(skb) < IPV6_MIN_MTU && - fhdr->frag_off & htons(IP6_MF)) - goto fail_hdr; - iif = skb->dev ? skb->dev->ifindex : 0; fq = fq_find(net, fhdr->identification, hdr, iif); if (fq) { Patch #605 (linux-4.9-5-ip6-defrag-use-rbtrees-in-nf_conntrack_reasm.patch): + /usr/bin/cat /home/admin/WORK/os/PACKAGES/kernel49/WORK/linux-4.9-5-ip6-defrag-use-rbtrees-in-nf_conntrack_reasm.patch + /usr/bin/patch -p1 -b --suffix .ip6-5 --fuzz=0 patching file net/ipv6/netfilter/nf_conntrack_reasm.c Hunk #8 FAILED at 464. Hunk #9 succeeded at 475 (offset -4 lines). 1 out of 9 hunks FAILED -- saving rejects to file net/ipv6/netfilter/nf_conntrack_reasm.c.rej --- net/ipv6/netfilter/nf_conntrack_reasm.c +++ net/ipv6/netfilter/nf_conntrack_reasm.c @@ -464,10 +363,6 @@ hdr = ipv6_hdr(skb); fhdr = (struct frag_hdr *)skb_transport_header(skb); - if (skb->len - skb_network_offset(skb) < IPV6_MIN_MTU && - fhdr->frag_off & htons(IP6_MF)) - return -EINVAL; - skb_orphan(skb); fq = fq_find(net, fhdr->identification, user, hdr, skb->dev ? skb->dev->ifindex : 0); On Mon, Apr 29, 2019 at 10:57 AM Captain Wiggum <captwiggum@xxxxxxxxx> wrote: > > I have run the 4.9 patch set on the full TAHI test sweet. > Similar to 4.14, it does fix all the IPv6 frag header issues. > But the "change MTU" mesg routing is still broken. > Overall, it fixes what it was intended to fix, so I suggest it move > toward release. > Thanks Peter! > > --John Masinter > > On Fri, Apr 26, 2019 at 9:41 AM Peter Oskolkov <posk@xxxxxxxxxx> wrote: > > > > 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/ > > > > and into 4.14: > > https://patchwork.ozlabs.org/cover/1089651/ > > > > > > This 4.9 patchset is very close to the 4.14 patchset above > > (cherry-picks from 4.14 were almost clean). > > > > > > 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 | 295 +++--------------- > > net/ipv6/netfilter/nf_conntrack_reasm.c | 273 +++++----------- > > net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 3 +- > > net/ipv6/reassembly.c | 361 ++++++---------------- > > net/openvswitch/conntrack.c | 1 + > > 10 files changed, 631 insertions(+), 753 deletions(-) > > create mode 100644 include/net/ipv6_frag.h > > > > -- > > 2.21.0.593.g511ec345e18-goog > >