[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210917120053.1ec617c2@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Fri, 17 Sep 2021 12:00:53 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: Lorenzo Bianconi <lorenzo@...nel.org>, bpf <bpf@...r.kernel.org>,
Network Development <netdev@...r.kernel.org>,
Lorenzo Bianconi <lorenzo.bianconi@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, shayagr@...zon.com,
John Fastabend <john.fastabend@...il.com>,
David Ahern <dsahern@...nel.org>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Eelco Chaudron <echaudro@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Alexander Duyck <alexander.duyck@...il.com>,
Saeed Mahameed <saeed@...nel.org>,
"Fijalkowski, Maciej" <maciej.fijalkowski@...el.com>,
"Karlsson, Magnus" <magnus.karlsson@...el.com>,
tirthendu.sarkar@...el.com,
Toke Høiland-Jørgensen <toke@...hat.com>
Subject: Re: [PATCH v14 bpf-next 00/18] mvneta: introduce XDP multi-buffer
support
On Fri, 17 Sep 2021 11:43:07 -0700 Alexei Starovoitov wrote:
> > If bpf_xdp_load_bytes() / bpf_xdp_store_bytes() works for most we
> > can start with that. In all honesty I don't know what the exact
> > use cases for looking at data are, either. I'm primarily worried
> > about exposing the kernel internals too early.
>
> I don't mind the xdp equivalent of skb_load_bytes,
> but skb_header_pointer() idea is superior.
> When we did xdp with data/data_end there was no refine_retval_range
> concept in the verifier (iirc or we just missed that opportunity).
> We'd need something more advanced: a pointer with valid range
> refined by input argument 'len' or NULL.
> The verifier doesn't have such thing yet, but it fits as a combination of
> value_or_null plus refine_retval_range.
> The bpf_xdp_header_pointer() and bpf_skb_header_pointer()
> would probably simplify bpf programs as well.
> There would be no need to deal with data/data_end.
What are your thoughts on inlining? Can we inline the common case
of the header being in the "head"? Otherwise data/end comparisons
would be faster.
Powered by blists - more mailing lists