net: vlan: add protocol argument to packet tagging functions
Add a protocol argument to the VLAN packet tagging functions. In case of HW tagging, we need that protocol available in the ndo_start_xmit functions, so it is stored in a new field in the skb. The new field fits into a hole (on 64 bit) and doesn't increase the sks's size. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
1fd9b1fc31
commit
86a9bad3ab
@@ -8555,7 +8555,7 @@ static void queue_rx_frame(struct sk_buff *skb, u16 vlan_tag)
|
||||
|
||||
skb->protocol = eth_type_trans(skb, dev);
|
||||
if (vlan_tag && sp->vlan_strip_flag)
|
||||
__vlan_hwaccel_put_tag(skb, vlan_tag);
|
||||
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vlan_tag);
|
||||
if (sp->config.napi)
|
||||
netif_receive_skb(skb);
|
||||
else
|
||||
|
@@ -312,7 +312,7 @@ vxge_rx_complete(struct vxge_ring *ring, struct sk_buff *skb, u16 vlan,
|
||||
|
||||
if (ext_info->vlan &&
|
||||
ring->vlan_tag_strip == VXGE_HW_VPATH_RPA_STRIP_VLAN_TAG_ENABLE)
|
||||
__vlan_hwaccel_put_tag(skb, ext_info->vlan);
|
||||
__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), ext_info->vlan);
|
||||
napi_gro_receive(ring->napi_p, skb);
|
||||
|
||||
vxge_debug_entryexit(VXGE_TRACE,
|
||||
|
Reference in New Issue
Block a user