Thread (6 messages) flat view 6 messages, 3 authors, 2021-03-29

Re: [PATCH net v2] net: Reset MAC header for direct packet transmission

From: Julian Wiedmann <hidden>
Date: 2021-03-29 12:43:36

On 29.03.21 14:13, Eric Dumazet wrote:
On Mon, Mar 29, 2021 at 12:30 PM Kurt Kanzenbach [off-list ref] wrote:
quoted
On Mon Mar 29 2021, Eric Dumazet wrote:
quoted
Note that last year, I addressed the issue differently in commit
96cc4b69581db68efc9749ef32e9cf8e0160c509
("macvlan: do not assume mac_header is set in macvlan_broadcast()")
(amended with commit 1712b2fff8c682d145c7889d2290696647d82dab
"macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()")

My reasoning was that in TX path, when ndo_start_xmit() is called, MAC
header is essentially skb->data,
so I was hoping to _remove_ skb_reset_mac_header(skb) eventually from
the fast path (aka __dev_queue_xmit),
because most drivers do not care about MAC header, they just use skb->data.

I understand it is more difficult to review drivers instead of just
adding more code in  __dev_direct_xmit()

In hsr case, I do not really see why the existing check can not be
simply reworked ?
It can be reworked, no problem. I just thought it might be better to add
it to the generic code just in case there are more drivers suffering
from the issue.
Note that I have a similar issue pending in ipvlan.

Still, I think I prefer the non easy way to not add more stuff in fast path.
Can we apply this fix (and propagate it to stable), and then remove the
skb_reset_mac_header() from _both_ xmit paths through net-next?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help