Thread (58 messages) 58 messages, 10 authors, 2020-02-05

Re: [PATCH bpf-next 03/12] net: Add IFLA_XDP_EGRESS for XDP programs in the egress path

From: Jakub Kicinski <kuba@kernel.org>
Date: 2020-01-30 14:45:21

On Tue, 28 Jan 2020 15:13:43 +0100, Jesper Dangaard Brouer wrote:
On Sun, 26 Jan 2020 14:17:01 -0800
Jakub Kicinski [off-list ref] wrote:
quoted
On Sun, 26 Jan 2020 13:49:33 +0100, Jesper Dangaard Brouer wrote:  
quoted
Yes, please. I want this NIC TX hook to see both SKBs and xdp_frames.    
Any pointers on what for? Unless we see actual use cases there's
a justifiable concern of the entire thing just being an application of
"We can solve any problem by introducing an extra level of indirection."  
I have two use-cases:

(1) For XDP easier handling of interface specific setting on egress,
e.g. pushing a VLAN-id, instead of having to figure this out in RX hook.
(I think this is also David Ahern's use-case)
Is it really useful to have a hook before multi-buffer frames are
possible and perhaps TSO? The local TCP performance is going to tank
with XDP enabled otherwise.
(2) I want this egress XDP hook to have the ability to signal
backpressure. Today we have BQL in most drivers (which is essential to
avoid bufferbloat). For XDP_REDIRECT we don't, which we must solve.

For use-case(2), we likely need a BPF-helper calling netif_tx_stop_queue(),
or a return code that can stop the queue towards the higher layers.
Agreed, although for that use case, I'm not sure if non-XDP frames 
have to pass trough the hook. Hard to tell as the current patches 
don't touch on this use case.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help