diff options
| author | Sharath Chandra Vurukala <sharathv@codeaurora.org> | 2020-04-24 12:47:07 +0530 |
|---|---|---|
| committer | Sharath Chandra Vurukala <sharathv@codeaurora.org> | 2020-09-28 18:32:33 +0530 |
| commit | 83f4d9a5573d7d7117d581703073fa26c4c2d736 (patch) | |
| tree | 5cb4c45230bf3ba3b46805b464c6b9f416bc382b /net | |
| parent | dce57d817758260a14181dece4a2c8b92887e6e9 (diff) | |
Revert "ipv6: defrag: drop non-last frags smaller than min mtu"
This reverts commit 5f2d68b6b5a439c3223d8fa6ba20736f91fc58d8.
The change drops the non-last fragments whose size is less
than min mtu, this is currently breaking MT call on IWLAN.
It is observed that the SIP_INVITE has fragments of size
less than min mtu, currently reverting the change to allow
MT call to go through.
Change-Id: I601ae77c33399c4ef044d14ae3fdfdbd63d9867f
Signed-off-by: Sharath Chandra Vurukala <sharathv@codeaurora.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/ipv6/netfilter/nf_conntrack_reasm.c | 4 | ||||
| -rw-r--r-- | net/ipv6/reassembly.c | 4 |
2 files changed, 0 insertions, 8 deletions
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 664c84e47bab..7444510a3928 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -576,10 +576,6 @@ struct sk_buff *nf_ct_frag6_gather(struct net *net, struct sk_buff *skb, u32 use hdr = ipv6_hdr(clone); fhdr = (struct frag_hdr *)skb_transport_header(clone); - if (clone->len - skb_network_offset(clone) < IPV6_MIN_MTU && - fhdr->frag_off & htons(IP6_MF)) - goto ret_orig; - skb_orphan(skb); fq = fq_find(net, fhdr->identification, user, hdr, skb->dev ? skb->dev->ifindex : 0); diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index ec917f58d105..f1514e3d89db 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -516,10 +516,6 @@ static int ipv6_frag_rcv(struct sk_buff *skb) 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) { |
