summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSharath Chandra Vurukala <sharathv@codeaurora.org>2020-04-24 12:47:07 +0530
committerSharath Chandra Vurukala <sharathv@codeaurora.org>2020-09-28 18:32:33 +0530
commit83f4d9a5573d7d7117d581703073fa26c4c2d736 (patch)
tree5cb4c45230bf3ba3b46805b464c6b9f416bc382b /net
parentdce57d817758260a14181dece4a2c8b92887e6e9 (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.c4
-rw-r--r--net/ipv6/reassembly.c4
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) {