On Fri, Oct 30, 2020 at 3:22 PM Willem de Bruijn <willemdebruijn.ker...@gmail.com> wrote: > > It's indirect: > > skb_reset_network_header(skb); > if (!skb_transport_header_was_set(skb)) > skb_reset_transport_header(skb); > skb_reset_mac_len(skb);
Oh. I see. skb_reset_mac_len would set skb->mac_len. Not sure where skb->mac_len would be used though. > > I thought only AF_PACKET/RAW sockets would need this information > > because other upper layers would not care about what happened in L2. > > I think that's a reasonable assumption. I don't have a good > counterexample ready. Specific to this case, it seems to have been > working with no one complaining so far ;) Yeah. It seems to me that a lot of drivers (without header_ops) have this problem. The comment in af_packet.c before my commit b79a80bd6dd8 also indicated this problem was widespread. It seemed to not cause any issues.