diff options
author | Patrick McHardy <kaber@trash.net> | 2013-04-18 22:04:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-19 14:46:06 -0400 |
commit | 86a9bad3ab6b6f858fd4443b48738cabbb6d094c (patch) | |
tree | 21d41b1c81e0f3e53ac4004627a8c9588099fea1 /drivers/net/ethernet/qlogic/qlcnic | |
parent | 1fd9b1fc310314911f66d2f14a8e4f0ef37bf47b (diff) |
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>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic')
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c index a85ca63a2c9e..56223a6aa408 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | |||
@@ -1050,7 +1050,7 @@ qlcnic_process_rcv(struct qlcnic_adapter *adapter, | |||
1050 | skb->protocol = eth_type_trans(skb, netdev); | 1050 | skb->protocol = eth_type_trans(skb, netdev); |
1051 | 1051 | ||
1052 | if (vid != 0xffff) | 1052 | if (vid != 0xffff) |
1053 | __vlan_hwaccel_put_tag(skb, vid); | 1053 | __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid); |
1054 | 1054 | ||
1055 | napi_gro_receive(&sds_ring->napi, skb); | 1055 | napi_gro_receive(&sds_ring->napi, skb); |
1056 | 1056 | ||
@@ -1153,7 +1153,7 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter, | |||
1153 | } | 1153 | } |
1154 | 1154 | ||
1155 | if (vid != 0xffff) | 1155 | if (vid != 0xffff) |
1156 | __vlan_hwaccel_put_tag(skb, vid); | 1156 | __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid); |
1157 | netif_receive_skb(skb); | 1157 | netif_receive_skb(skb); |
1158 | 1158 | ||
1159 | adapter->stats.lro_pkts++; | 1159 | adapter->stats.lro_pkts++; |
@@ -1518,7 +1518,7 @@ qlcnic_83xx_process_rcv(struct qlcnic_adapter *adapter, | |||
1518 | skb->protocol = eth_type_trans(skb, netdev); | 1518 | skb->protocol = eth_type_trans(skb, netdev); |
1519 | 1519 | ||
1520 | if (vid != 0xffff) | 1520 | if (vid != 0xffff) |
1521 | __vlan_hwaccel_put_tag(skb, vid); | 1521 | __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid); |
1522 | 1522 | ||
1523 | napi_gro_receive(&sds_ring->napi, skb); | 1523 | napi_gro_receive(&sds_ring->napi, skb); |
1524 | 1524 | ||
@@ -1615,7 +1615,7 @@ qlcnic_83xx_process_lro(struct qlcnic_adapter *adapter, | |||
1615 | } | 1615 | } |
1616 | 1616 | ||
1617 | if (vid != 0xffff) | 1617 | if (vid != 0xffff) |
1618 | __vlan_hwaccel_put_tag(skb, vid); | 1618 | __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vid); |
1619 | 1619 | ||
1620 | netif_receive_skb(skb); | 1620 | netif_receive_skb(skb); |
1621 | 1621 | ||