Thread (14 messages) flat view 14 messages, 3 authors, 2021-06-16

Re: [PATCH net] qmi_wwan: Clone the skb when in pass-through mode

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-06-15 19:26:09

On Tue, 15 Jun 2021 15:39:14 +0200 Bjørn Mork wrote:
quoted
quoted
I think this would be a really nice solution. The same (at least
FLAG_MULTI_PACKET + usbnet_skb_return) could be applied to pass
through as well, giving us consistent handling of aggregated packets.
While we might not save a huge number of lines, I believe the
resulting code will be easier to understand.  
Apologies for the noise. When I check the code again, I see that as
long as FLAG_MULTI_PACKET is set, then we end up with usbnet freeing
the skb (we will always jump to done in rx_process()). So for the
pass-through case, I believe your initial suggestion of having
rx_fixup return 1 is the way to go.  
Yes, if we are to use FLAG_MULTI_PACKET then we must call
usbnet_skb_return() for all the non-muxed cases.  There is no clean way
to enable FLAG_MULTI_PACKET on-demand.
Tricky piece of code. Perhaps we could add another return code 
to the rx_fixup call? Seems that we expect 0 or 1 today, maybe we 
can make 2 mean "data was copied out", and use that for the qmimux 
case?
I am fine with either solution.  Whatever Jakub wants :-)
Well, turns out I was looking at the wrong netif_rx() so take
what I say with a grain of salt ;)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help