On 29.03.21 14:13, Eric Dumazet wrote: > On Mon, Mar 29, 2021 at 12:30 PM Kurt Kanzenbach <k...@linutronix.de> wrote: >> >> On Mon Mar 29 2021, Eric Dumazet wrote: >>> 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?