[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220222115528.6eaccb8b@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Tue, 22 Feb 2022 11:55:28 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Paul Blakey <paulb@...dia.com>
Cc: <dev@...nvswitch.org>, <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
"Pravin B Shelar" <pshelar@....org>, <davem@...emloft.net>,
Eelco Chaudron <echaudro@...hat.com>,
Oz Shlomo <ozsh@...dia.com>, Vlad Buslov <vladbu@...dia.com>,
Roi Dayan <roid@...dia.com>,
Ariel Levkovich <lariel@...dia.com>
Subject: Re: [PATCH net v4 1/1] openvswitch: Fix setting ipv6 fields causing
hw csum failure
You'll need to rebase, the patch which made everything force inlined
got merged.
On Sun, 20 Feb 2022 15:21:14 +0200 Paul Blakey wrote:
> +static inline __wsum
> +csum_block_replace(__wsum csum, __wsum old, __wsum new, int offset)
> +{
> + return csum_block_add(csum_block_sub(csum, old, offset), new, offset);
Why still _block? Since the arguments are pre-shifted we should be able
to subtract and add the entire thing, and the math will work out.
Obviously you'd need to shift by the offset in the word, not in a byte
in the caller.
> +}
> +
> static inline __wsum csum_unfold(__sum16 n)
> {
> return (__force __wsum)n;
> @@ -184,4 +190,5 @@ static inline __wsum wsum_negate(__wsum val)
> {
> return (__force __wsum)-((__force u32)val);
> }
> +
Spurious?
> #endif
Powered by blists - more mailing lists