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?

Reply via email to