Thread (26 messages) 26 messages, 6 authors, 2021-09-28

Re: Redux: Backwards compatibility for XDP multi-buff

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-09-23 13:46:37
Also in: bpf

On Wed, 22 Sep 2021 22:01:17 +0200 Toke Høiland-Jørgensen wrote:
Jakub Kicinski [off-list ref] writes:
quoted
quoted
Hmm, the assumption that XDP frames take up at most one page has been
fundamental from the start of XDP. So what does linearise mean in this
context? If we get a 9k packet, should we dynamically allocate a
multi-page chunk of contiguous memory and copy the frame into that, or
were you thinking something else?  
My $.02 would be to not care about redirect at all.

It's not like the user experience with redirect is anywhere close 
to amazing right now. Besides (with the exception of SW devices which
will likely gain mb support quickly) mixed-HW setups are very rare.
If the source of the redirect supports mb so will likely the target.  
It's not about device support it's about XDP program support: If I run
an MB-aware XDP program on a physical interface and redirect the (MB)
frame into a container, and there's an XDP program running inside that
container that isn't MB-aware, bugs will ensue. Doesn't matter if the
veth driver itself supports MB...
Ah, I see now.
We could leave that as a "don't do that, then" kind of thing, but that
was what we were proposing (as the "do nothing" option) and got some
pushback on, hence why we're having this conversation :)
Let me make a general statement that we can't build large systems
without division of responsibilities. Device specific logic has to
be left to the driver. It's up to veth to apply its extra rules.

As Zvi said, tho, this can be left for later. IMHO initial patches can
drop all mb frames on redirect in the core, so we can make progress.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help