[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1517850619.3715.144.camel@gmail.com>
Date: Mon, 05 Feb 2018 09:10:19 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Ilya Lesokhin <ilyal@...lanox.com>, netdev@...r.kernel.org,
kafai@...com
Cc: borisp@...lanox.com
Subject: Re: [PATCH 1/1] tcp: Honor the eor bit in tcp_mtu_probe
On Mon, 2018-02-05 at 07:52 -0800, Eric Dumazet wrote:
> On Mon, 2018-02-05 at 17:11 +0200, Ilya Lesokhin wrote:
> > 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>
> > ---
>
> Reviewed-by: Eric Dumazet <edumazet@...gle.com>
>
> Thanks.
I am taking this approval back.
You missed an eor propagation if it is in the last skb that is copied
to the new skb.
Something like this added to your patch :
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index e9f985e42405a38fc95980da5debb7ac8b51fbb5..87c2ff458f7528ee3cd3e5e1154375a906c1bc67 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2134,6 +2134,7 @@ static int tcp_mtu_probe(struct sock *sk)
/* We've eaten all the data from this skb.
* Throw it away. */
TCP_SKB_CB(nskb)->tcp_flags |= TCP_SKB_CB(skb)->tcp_flags;
+ TCP_SKB_CB(nskb)->eor = TCP_SKB_CB(skb)->eor;
tcp_unlink_write_queue(skb, sk);
sk_wmem_free_skb(sk, skb);
} else {
Powered by blists - more mailing lists