Re: TC bpf_csum_diff problems post-5.6 kernel

Lorenz Bauer <[email protected]>
Newsgroups org.kernel.vger.xdp-newbies
Message-ID <CACAyw9-Q308RxHvmn0oy0iZTJNiRcHZh+uBYRaGrokJwbLbkSg@mail.gmail.com>
On Tue, 2 Nov 2021 at 22:33, Thomas Ptacek <[email protected]> wrote:
>
> Thanks for the context!
>
> I write back to the packet directly (I chain all the checksum updates
> through a series of bpf_csum_diff() calls and then write back the
> ultimate value).
>
> Since we have a mixed fleet right now, I'm guessing I'm going to need
> multiple versions of the TC BPF .o binary, since it looks like
> bpf_skb_net_shrink() EINVAL's on 5.6 with that
> BPF_F_ADJ_ROOM_NO_CSUM_RESET flag.

Funny, I saw your tweet and went "uh oh" :D

Daniel will know better, but the way I understood it
BPF_F_ADJ_ROOM_NO_CSUM_RESET just tells the kernel to not verify the
checksum of the packet again as it goes through the network stack. If
setting that flag fixes your problem it makes me suspect that
something in your checksum code is wonky.

Lorenz

-- 
Lorenz Bauer  |  Systems Engineer
6th Floor, County Hall/The Riverside Building, SE1 7PB, UK

www.cloudflare.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.