[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220125095331.768dcc49@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net>
Date: Tue, 25 Jan 2022 09:53:31 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: edumazet@...gle.com, dsahern@...il.com, pabeni@...hat.com,
herbert@...dor.apana.org.au, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2] ipv6: gro: flush instead of assuming
different flows on hop_limit mismatch
On Mon, 24 Jan 2022 20:44:44 -0800 Jakub Kicinski wrote:
> IPv6 GRO considers packets to belong to different flows when their
> hop_limit is different. This seems counter-intuitive, the flow is
> the same. hop_limit may vary because of various bugs or hacks but
> that doesn't mean it's okay for GRO to reorder packets.
>
> Practical impact of this problem on overall TCP performance
> is unclear, but TCP itself detects this reordering and bumps
> TCPSACKReorder resulting in user complaints.
>
> Eric warns that there may be performance regressions in setups
> which do packet spraying across links with similar RTT but different
> hop count. To be safe let's target -next and not treat this
> as a fix. If the packet spraying is using flow label there should
> be no difference in behavior as flow label is checked first.
>
> Note that the code plays an easy to miss trick by upcasting next_hdr
> to a u16 pointer and compares next_hdr and hop_limit in one go.
>
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
> --
> v2: resend for -next with the sparse false-positive addressed
In net-next now: 6fc2f3832d36 ("ipv6: gro: flush instead of assuming
different flows on hop_limit mismatch")
Powered by blists - more mailing lists