Hi Egil, > >> @@ -62,7 +80,10 @@ static struct sk_buff *lan9303_xmit(struct sk_buff > *skb, > >> struct net_device *dev) > >> > >> lan9303_tag = (u16 *)(skb->data + 2 * ETH_ALEN); > >> lan9303_tag[0] = htons(ETH_P_8021Q); > >> - lan9303_tag[1] = htons(dp->index | BIT(4)); > >> + lan9303_tag[1] = lan9303_tx_use_arl(dp, skb->data) ? > > > > How about using skb_mac_header(skb) than skb->data? > > > >> + LAN9303_TAG_TX_USE_ALR : > >> + dp->index | > > > > I am not the expert here. > > I see that skb_mac_header() is (skb->head + skb->mac_header). So it will > cost a few nano seconds per packet. Not the end of the world though. > But I see that other net/dsa/tag_*.c use skb->data, assuming that > skb->data point to mac header. >
Revisited skb_mac_header(). It is basically skb->data after math. Understand that it would be extra steps than referring skb->data directly. Unless no one comments on this, please keep first patch. Thanks. Woojung