Hello! > > Actually if we require that upon entry into netif_rx that > > skb->nh.raw and skb->mac.raw are set correctly We used to require this. > > and are next > > to each other, then we can avoid having to get mac_len right. > > > > This is what the following patch does. I am afraid I do not understand this. mac_len is required only when you do not memcopy mac header keeping it in place instead. The patch makes memmove, so what is the point in keeping mac_len? > And the idea is to replace all of the: > > skb_push(skb, skb->data - skb->mac.raw); > > with: > > skb_push(skb, skb->maclen); > > Right? Such skb_push was used only in packet socket. There are no reasons to do this there. When the mac header is split we just do copy_to_user in two parts: mac header first and than all the network layer payload. Code really will look nicer, than it is now. Alexey - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html