[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180205151126.77495-1-ilyal@mellanox.com>
Date: Mon, 5 Feb 2018 17:11:26 +0200
From: Ilya Lesokhin <ilyal@...lanox.com>
To: netdev@...r.kernel.org, kafai@...com
Cc: borisp@...lanox.com, Ilya Lesokhin <ilyal@...lanox.com>
Subject: [PATCH 1/1] tcp: Honor the eor bit in tcp_mtu_probe
Avoid SKB coalescing if eor bit is set in one of the relevant
SKBs.
Fixes: c134ecb87817 ("tcp: Make use of MSG_EOR in tcp_sendmsg")
Signed-off-by: Ilya Lesokhin <ilyal@...lanox.com>
---
net/ipv4/tcp_output.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index e9f985e42405..c8cc679f1779 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2099,6 +2099,17 @@ static int tcp_mtu_probe(struct sock *sk)
return 0;
}
+ len = probe_size;
+ tcp_for_write_queue_from_safe(skb, next, sk) {
+ if (len <= skb->len)
+ break;
+
+ if (unlikely(TCP_SKB_CB(skb)->eor))
+ return -1;
+
+ len -= skb->len;
+ }
+
/* We're allowed to probe. Build it now. */
nskb = sk_stream_alloc_skb(sk, probe_size, GFP_ATOMIC, false);
if (!nskb)
--
2.15.0.317.g14c63a9
Powered by blists - more mailing lists