aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/bonding/bond_main.c6
-rw-r--r--drivers/net/ethernet/3com/typhoon.c4
-rw-r--r--drivers/net/ethernet/adaptec/starfire.c2
-rw-r--r--drivers/net/ethernet/alteon/acenic.c2
-rw-r--r--drivers/net/ethernet/amd/amd8111e.c4
-rw-r--r--drivers/net/ethernet/atheros/atl1c/atl1c_main.c22
-rw-r--r--drivers/net/ethernet/atheros/atl1e/atl1e_main.c14
-rw-r--r--drivers/net/ethernet/atheros/atlx/atl1.c4
-rw-r--r--drivers/net/ethernet/atheros/atlx/atl2.c16
-rw-r--r--drivers/net/ethernet/atheros/atlx/atlx.c10
-rw-r--r--drivers/net/ethernet/broadcom/bnx2.c10
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c4
-rw-r--r--drivers/net/ethernet/broadcom/tg3.c2
-rw-r--r--drivers/net/ethernet/brocade/bna/bnad.c4
-rw-r--r--drivers/net/ethernet/chelsio/cxgb/cxgb2.c13
-rw-r--r--drivers/net/ethernet/chelsio/cxgb/sge.c2
-rw-r--r--drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c20
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c10
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c15
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_main.c4
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c4
-rw-r--r--drivers/net/ethernet/freescale/gianfar.c15
-rw-r--r--drivers/net/ethernet/freescale/gianfar_ethtool.c2
-rw-r--r--drivers/net/ethernet/ibm/ehea/ehea_main.c8
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c16
-rw-r--r--drivers/net/ethernet/intel/e1000e/netdev.c10
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c18
-rw-r--r--drivers/net/ethernet/intel/igbvf/netdev.c6
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_main.c14
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c12
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c2
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c6
-rw-r--r--drivers/net/ethernet/jme.c4
-rw-r--r--drivers/net/ethernet/marvell/sky2.c9
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_netdev.c4
-rw-r--r--drivers/net/ethernet/myricom/myri10ge/myri10ge.c7
-rw-r--r--drivers/net/ethernet/natsemi/ns83820.c2
-rw-r--r--drivers/net/ethernet/neterion/s2io.c2
-rw-r--r--drivers/net/ethernet/neterion/vxge/vxge-main.c4
-rw-r--r--drivers/net/ethernet/nvidia/forcedeth.c20
-rw-r--r--drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c2
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c4
-rw-r--r--drivers/net/ethernet/qlogic/qlge/qlge_main.c16
-rw-r--r--drivers/net/ethernet/realtek/8139cp.c6
-rw-r--r--drivers/net/ethernet/realtek/r8169.c14
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.c2
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/stmmac_main.c2
-rw-r--r--drivers/net/ethernet/tehuti/tehuti.c6
-rw-r--r--drivers/net/ethernet/ti/cpsw.c4
-rw-r--r--drivers/net/ethernet/toshiba/spider_net.c4
-rw-r--r--drivers/net/ethernet/via/via-rhine.c5
-rw-r--r--drivers/net/ethernet/via/via-velocity.c7
-rw-r--r--drivers/net/ethernet/xilinx/ll_temac_main.c6
-rw-r--r--drivers/net/hyperv/netvsc_drv.c2
-rw-r--r--drivers/net/ifb.c2
-rw-r--r--drivers/net/macvlan.c2
-rw-r--r--drivers/net/team/team.c6
-rw-r--r--drivers/net/usb/cdc_mbim.c2
-rw-r--r--drivers/net/veth.c2
-rw-r--r--drivers/net/virtio_net.c2
-rw-r--r--drivers/net/vmxnet3/vmxnet3_drv.c11
-rw-r--r--drivers/net/vmxnet3/vmxnet3_ethtool.c5
62 files changed, 230 insertions, 215 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 2aac890320cb..8d324f8a1757 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -4322,9 +4322,9 @@ static void bond_setup(struct net_device *bond_dev)
4322 */ 4322 */
4323 4323
4324 bond_dev->hw_features = BOND_VLAN_FEATURES | 4324 bond_dev->hw_features = BOND_VLAN_FEATURES |
4325 NETIF_F_HW_VLAN_TX | 4325 NETIF_F_HW_VLAN_CTAG_TX |
4326 NETIF_F_HW_VLAN_RX | 4326 NETIF_F_HW_VLAN_CTAG_RX |
4327 NETIF_F_HW_VLAN_FILTER; 4327 NETIF_F_HW_VLAN_CTAG_FILTER;
4328 4328
4329 bond_dev->hw_features &= ~(NETIF_F_ALL_CSUM & ~NETIF_F_HW_CSUM); 4329 bond_dev->hw_features &= ~(NETIF_F_ALL_CSUM & ~NETIF_F_HW_CSUM);
4330 bond_dev->features |= bond_dev->hw_features; 4330 bond_dev->features |= bond_dev->hw_features;
diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index 27aaaf99e73e..839a96213742 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -2445,9 +2445,9 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2445 * settings -- so we only allow the user to toggle the TX processing. 2445 * settings -- so we only allow the user to toggle the TX processing.
2446 */ 2446 */
2447 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | 2447 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
2448 NETIF_F_HW_VLAN_TX; 2448 NETIF_F_HW_VLAN_CTAG_TX;
2449 dev->features = dev->hw_features | 2449 dev->features = dev->hw_features |
2450 NETIF_F_HW_VLAN_RX | NETIF_F_RXCSUM; 2450 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_RXCSUM;
2451 2451
2452 if(register_netdev(dev) < 0) { 2452 if(register_netdev(dev) < 0) {
2453 err_msg = "unable to register netdev"; 2453 err_msg = "unable to register netdev";
diff --git a/drivers/net/ethernet/adaptec/starfire.c b/drivers/net/ethernet/adaptec/starfire.c
index 549b77500579..365865130f7c 100644
--- a/drivers/net/ethernet/adaptec/starfire.c
+++ b/drivers/net/ethernet/adaptec/starfire.c
@@ -702,7 +702,7 @@ static int starfire_init_one(struct pci_dev *pdev,
702#endif /* ZEROCOPY */ 702#endif /* ZEROCOPY */
703 703
704#ifdef VLAN_SUPPORT 704#ifdef VLAN_SUPPORT
705 dev->features |= NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER; 705 dev->features |= NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_FILTER;
706#endif /* VLAN_RX_KILL_VID */ 706#endif /* VLAN_RX_KILL_VID */
707#ifdef ADDR_64BITS 707#ifdef ADDR_64BITS
708 dev->features |= NETIF_F_HIGHDMA; 708 dev->features |= NETIF_F_HIGHDMA;
diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
index c0bc41a784ca..a7689d931053 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
@@ -472,7 +472,7 @@ static int acenic_probe_one(struct pci_dev *pdev,
472 ap->name = pci_name(pdev); 472 ap->name = pci_name(pdev);
473 473
474 dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; 474 dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
475 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 475 dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
476 476
477 dev->watchdog_timeo = 5*HZ; 477 dev->watchdog_timeo = 5*HZ;
478 478
diff --git a/drivers/net/ethernet/amd/amd8111e.c b/drivers/net/ethernet/amd/amd8111e.c
index 42d4e6ad58a5..6bad84d6e2c4 100644
--- a/drivers/net/ethernet/amd/amd8111e.c
+++ b/drivers/net/ethernet/amd/amd8111e.c
@@ -1869,7 +1869,7 @@ static int amd8111e_probe_one(struct pci_dev *pdev,
1869 SET_NETDEV_DEV(dev, &pdev->dev); 1869 SET_NETDEV_DEV(dev, &pdev->dev);
1870 1870
1871#if AMD8111E_VLAN_TAG_USED 1871#if AMD8111E_VLAN_TAG_USED
1872 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX ; 1872 dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX ;
1873#endif 1873#endif
1874 1874
1875 lp = netdev_priv(dev); 1875 lp = netdev_priv(dev);
@@ -1907,7 +1907,7 @@ static int amd8111e_probe_one(struct pci_dev *pdev,
1907 netif_napi_add(dev, &lp->napi, amd8111e_rx_poll, 32); 1907 netif_napi_add(dev, &lp->napi, amd8111e_rx_poll, 32);
1908 1908
1909#if AMD8111E_VLAN_TAG_USED 1909#if AMD8111E_VLAN_TAG_USED
1910 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1910 dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
1911#endif 1911#endif
1912 /* Probe the external PHY */ 1912 /* Probe the external PHY */
1913 amd8111e_probe_ext_phy(dev); 1913 amd8111e_probe_ext_phy(dev);
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
index 1f07fc633ab9..3565255cdd81 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
@@ -417,7 +417,7 @@ static void atl1c_set_multi(struct net_device *netdev)
417 417
418static void __atl1c_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data) 418static void __atl1c_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data)
419{ 419{
420 if (features & NETIF_F_HW_VLAN_RX) { 420 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
421 /* enable VLAN tag insert/strip */ 421 /* enable VLAN tag insert/strip */
422 *mac_ctrl_data |= MAC_CTRL_RMV_VLAN; 422 *mac_ctrl_data |= MAC_CTRL_RMV_VLAN;
423 } else { 423 } else {
@@ -494,10 +494,10 @@ static netdev_features_t atl1c_fix_features(struct net_device *netdev,
494 * Since there is no support for separate rx/tx vlan accel 494 * Since there is no support for separate rx/tx vlan accel
495 * enable/disable make sure tx flag is always in same state as rx. 495 * enable/disable make sure tx flag is always in same state as rx.
496 */ 496 */
497 if (features & NETIF_F_HW_VLAN_RX) 497 if (features & NETIF_F_HW_VLAN_CTAG_RX)
498 features |= NETIF_F_HW_VLAN_TX; 498 features |= NETIF_F_HW_VLAN_CTAG_TX;
499 else 499 else
500 features &= ~NETIF_F_HW_VLAN_TX; 500 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
501 501
502 if (netdev->mtu > MAX_TSO_FRAME_SIZE) 502 if (netdev->mtu > MAX_TSO_FRAME_SIZE)
503 features &= ~(NETIF_F_TSO | NETIF_F_TSO6); 503 features &= ~(NETIF_F_TSO | NETIF_F_TSO6);
@@ -510,7 +510,7 @@ static int atl1c_set_features(struct net_device *netdev,
510{ 510{
511 netdev_features_t changed = netdev->features ^ features; 511 netdev_features_t changed = netdev->features ^ features;
512 512
513 if (changed & NETIF_F_HW_VLAN_RX) 513 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
514 atl1c_vlan_mode(netdev, features); 514 atl1c_vlan_mode(netdev, features);
515 515
516 return 0; 516 return 0;
@@ -2475,13 +2475,13 @@ static int atl1c_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
2475 atl1c_set_ethtool_ops(netdev); 2475 atl1c_set_ethtool_ops(netdev);
2476 2476
2477 /* TODO: add when ready */ 2477 /* TODO: add when ready */
2478 netdev->hw_features = NETIF_F_SG | 2478 netdev->hw_features = NETIF_F_SG |
2479 NETIF_F_HW_CSUM | 2479 NETIF_F_HW_CSUM |
2480 NETIF_F_HW_VLAN_RX | 2480 NETIF_F_HW_VLAN_CTAG_RX |
2481 NETIF_F_TSO | 2481 NETIF_F_TSO |
2482 NETIF_F_TSO6; 2482 NETIF_F_TSO6;
2483 netdev->features = netdev->hw_features | 2483 netdev->features = netdev->hw_features |
2484 NETIF_F_HW_VLAN_TX; 2484 NETIF_F_HW_VLAN_CTAG_TX;
2485 return 0; 2485 return 0;
2486} 2486}
2487 2487
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index d058d0061ed0..598a61151668 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -315,7 +315,7 @@ static void atl1e_set_multi(struct net_device *netdev)
315 315
316static void __atl1e_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data) 316static void __atl1e_vlan_mode(netdev_features_t features, u32 *mac_ctrl_data)
317{ 317{
318 if (features & NETIF_F_HW_VLAN_RX) { 318 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
319 /* enable VLAN tag insert/strip */ 319 /* enable VLAN tag insert/strip */
320 *mac_ctrl_data |= MAC_CTRL_RMV_VLAN; 320 *mac_ctrl_data |= MAC_CTRL_RMV_VLAN;
321 } else { 321 } else {
@@ -378,10 +378,10 @@ static netdev_features_t atl1e_fix_features(struct net_device *netdev,
378 * Since there is no support for separate rx/tx vlan accel 378 * Since there is no support for separate rx/tx vlan accel
379 * enable/disable make sure tx flag is always in same state as rx. 379 * enable/disable make sure tx flag is always in same state as rx.
380 */ 380 */
381 if (features & NETIF_F_HW_VLAN_RX) 381 if (features & NETIF_F_HW_VLAN_CTAG_RX)
382 features |= NETIF_F_HW_VLAN_TX; 382 features |= NETIF_F_HW_VLAN_CTAG_TX;
383 else 383 else
384 features &= ~NETIF_F_HW_VLAN_TX; 384 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
385 385
386 return features; 386 return features;
387} 387}
@@ -391,7 +391,7 @@ static int atl1e_set_features(struct net_device *netdev,
391{ 391{
392 netdev_features_t changed = netdev->features ^ features; 392 netdev_features_t changed = netdev->features ^ features;
393 393
394 if (changed & NETIF_F_HW_VLAN_RX) 394 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
395 atl1e_vlan_mode(netdev, features); 395 atl1e_vlan_mode(netdev, features);
396 396
397 return 0; 397 return 0;
@@ -2198,9 +2198,9 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
2198 atl1e_set_ethtool_ops(netdev); 2198 atl1e_set_ethtool_ops(netdev);
2199 2199
2200 netdev->hw_features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_TSO | 2200 netdev->hw_features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_TSO |
2201 NETIF_F_HW_VLAN_RX; 2201 NETIF_F_HW_VLAN_CTAG_RX;
2202 netdev->features = netdev->hw_features | NETIF_F_LLTX | 2202 netdev->features = netdev->hw_features | NETIF_F_LLTX |
2203 NETIF_F_HW_VLAN_TX; 2203 NETIF_F_HW_VLAN_CTAG_TX;
2204 2204
2205 return 0; 2205 return 0;
2206} 2206}
diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c
index 8338013ab33d..fd7d85044e4a 100644
--- a/drivers/net/ethernet/atheros/atlx/atl1.c
+++ b/drivers/net/ethernet/atheros/atlx/atl1.c
@@ -3018,10 +3018,10 @@ static int atl1_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
3018 3018
3019 netdev->features = NETIF_F_HW_CSUM; 3019 netdev->features = NETIF_F_HW_CSUM;
3020 netdev->features |= NETIF_F_SG; 3020 netdev->features |= NETIF_F_SG;
3021 netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX); 3021 netdev->features |= (NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX);
3022 3022
3023 netdev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_TSO | 3023 netdev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_TSO |
3024 NETIF_F_HW_VLAN_RX; 3024 NETIF_F_HW_VLAN_CTAG_RX;
3025 3025
3026 /* is this valid? see atl1_setup_mac_ctrl() */ 3026 /* is this valid? see atl1_setup_mac_ctrl() */
3027 netdev->features |= NETIF_F_RXCSUM; 3027 netdev->features |= NETIF_F_RXCSUM;
diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c
index a046b6ff847c..6b2c08a89b7e 100644
--- a/drivers/net/ethernet/atheros/atlx/atl2.c
+++ b/drivers/net/ethernet/atheros/atlx/atl2.c
@@ -363,7 +363,7 @@ static inline void atl2_irq_disable(struct atl2_adapter *adapter)
363 363
364static void __atl2_vlan_mode(netdev_features_t features, u32 *ctrl) 364static void __atl2_vlan_mode(netdev_features_t features, u32 *ctrl)
365{ 365{
366 if (features & NETIF_F_HW_VLAN_RX) { 366 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
367 /* enable VLAN tag insert/strip */ 367 /* enable VLAN tag insert/strip */
368 *ctrl |= MAC_CTRL_RMV_VLAN; 368 *ctrl |= MAC_CTRL_RMV_VLAN;
369 } else { 369 } else {
@@ -399,10 +399,10 @@ static netdev_features_t atl2_fix_features(struct net_device *netdev,
399 * Since there is no support for separate rx/tx vlan accel 399 * Since there is no support for separate rx/tx vlan accel
400 * enable/disable make sure tx flag is always in same state as rx. 400 * enable/disable make sure tx flag is always in same state as rx.
401 */ 401 */
402 if (features & NETIF_F_HW_VLAN_RX) 402 if (features & NETIF_F_HW_VLAN_CTAG_RX)
403 features |= NETIF_F_HW_VLAN_TX; 403 features |= NETIF_F_HW_VLAN_CTAG_TX;
404 else 404 else
405 features &= ~NETIF_F_HW_VLAN_TX; 405 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
406 406
407 return features; 407 return features;
408} 408}
@@ -412,7 +412,7 @@ static int atl2_set_features(struct net_device *netdev,
412{ 412{
413 netdev_features_t changed = netdev->features ^ features; 413 netdev_features_t changed = netdev->features ^ features;
414 414
415 if (changed & NETIF_F_HW_VLAN_RX) 415 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
416 atl2_vlan_mode(netdev, features); 416 atl2_vlan_mode(netdev, features);
417 417
418 return 0; 418 return 0;
@@ -887,7 +887,7 @@ static netdev_tx_t atl2_xmit_frame(struct sk_buff *skb,
887 skb->len-copy_len); 887 skb->len-copy_len);
888 offset = ((u32)(skb->len-copy_len + 3) & ~3); 888 offset = ((u32)(skb->len-copy_len + 3) & ~3);
889 } 889 }
890#ifdef NETIF_F_HW_VLAN_TX 890#ifdef NETIF_F_HW_VLAN_CTAG_TX
891 if (vlan_tx_tag_present(skb)) { 891 if (vlan_tx_tag_present(skb)) {
892 u16 vlan_tag = vlan_tx_tag_get(skb); 892 u16 vlan_tag = vlan_tx_tag_get(skb);
893 vlan_tag = (vlan_tag << 4) | 893 vlan_tag = (vlan_tag << 4) |
@@ -1413,8 +1413,8 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1413 1413
1414 err = -EIO; 1414 err = -EIO;
1415 1415
1416 netdev->hw_features = NETIF_F_SG | NETIF_F_HW_VLAN_RX; 1416 netdev->hw_features = NETIF_F_SG | NETIF_F_HW_VLAN_CTAG_RX;
1417 netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX); 1417 netdev->features |= (NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX);
1418 1418
1419 /* Init PHY as early as possible due to power saving issue */ 1419 /* Init PHY as early as possible due to power saving issue */
1420 atl2_phy_init(&adapter->hw); 1420 atl2_phy_init(&adapter->hw);
diff --git a/drivers/net/ethernet/atheros/atlx/atlx.c b/drivers/net/ethernet/atheros/atlx/atlx.c
index f82eb1699464..46a622cceee4 100644
--- a/drivers/net/ethernet/atheros/atlx/atlx.c
+++ b/drivers/net/ethernet/atheros/atlx/atlx.c
@@ -220,7 +220,7 @@ static void atlx_link_chg_task(struct work_struct *work)
220 220
221static void __atlx_vlan_mode(netdev_features_t features, u32 *ctrl) 221static void __atlx_vlan_mode(netdev_features_t features, u32 *ctrl)
222{ 222{
223 if (features & NETIF_F_HW_VLAN_RX) { 223 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
224 /* enable VLAN tag insert/strip */ 224 /* enable VLAN tag insert/strip */
225 *ctrl |= MAC_CTRL_RMV_VLAN; 225 *ctrl |= MAC_CTRL_RMV_VLAN;
226 } else { 226 } else {
@@ -257,10 +257,10 @@ static netdev_features_t atlx_fix_features(struct net_device *netdev,
257 * Since there is no support for separate rx/tx vlan accel 257 * Since there is no support for separate rx/tx vlan accel
258 * enable/disable make sure tx flag is always in same state as rx. 258 * enable/disable make sure tx flag is always in same state as rx.
259 */ 259 */
260 if (features & NETIF_F_HW_VLAN_RX) 260 if (features & NETIF_F_HW_VLAN_CTAG_RX)
261 features |= NETIF_F_HW_VLAN_TX; 261 features |= NETIF_F_HW_VLAN_CTAG_TX;
262 else 262 else
263 features &= ~NETIF_F_HW_VLAN_TX; 263 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
264 264
265 return features; 265 return features;
266} 266}
@@ -270,7 +270,7 @@ static int atlx_set_features(struct net_device *netdev,
270{ 270{
271 netdev_features_t changed = netdev->features ^ features; 271 netdev_features_t changed = netdev->features ^ features;
272 272
273 if (changed & NETIF_F_HW_VLAN_RX) 273 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
274 atlx_vlan_mode(netdev, features); 274 atlx_vlan_mode(netdev, features);
275 275
276 return 0; 276 return 0;
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
index f27b549b692d..42a8bc8df5dd 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
@@ -3553,7 +3553,7 @@ bnx2_set_rx_mode(struct net_device *dev)
3553 rx_mode = bp->rx_mode & ~(BNX2_EMAC_RX_MODE_PROMISCUOUS | 3553 rx_mode = bp->rx_mode & ~(BNX2_EMAC_RX_MODE_PROMISCUOUS |
3554 BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG); 3554 BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG);
3555 sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN; 3555 sort_mode = 1 | BNX2_RPM_SORT_USER0_BC_EN;
3556 if (!(dev->features & NETIF_F_HW_VLAN_RX) && 3556 if (!(dev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
3557 (bp->flags & BNX2_FLAG_CAN_KEEP_VLAN)) 3557 (bp->flags & BNX2_FLAG_CAN_KEEP_VLAN))
3558 rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG; 3558 rx_mode |= BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG;
3559 if (dev->flags & IFF_PROMISC) { 3559 if (dev->flags & IFF_PROMISC) {
@@ -7695,7 +7695,7 @@ bnx2_fix_features(struct net_device *dev, netdev_features_t features)
7695 struct bnx2 *bp = netdev_priv(dev); 7695 struct bnx2 *bp = netdev_priv(dev);
7696 7696
7697 if (!(bp->flags & BNX2_FLAG_CAN_KEEP_VLAN)) 7697 if (!(bp->flags & BNX2_FLAG_CAN_KEEP_VLAN))
7698 features |= NETIF_F_HW_VLAN_RX; 7698 features |= NETIF_F_HW_VLAN_CTAG_RX;
7699 7699
7700 return features; 7700 return features;
7701} 7701}
@@ -7706,12 +7706,12 @@ bnx2_set_features(struct net_device *dev, netdev_features_t features)
7706 struct bnx2 *bp = netdev_priv(dev); 7706 struct bnx2 *bp = netdev_priv(dev);
7707 7707
7708 /* TSO with VLAN tag won't work with current firmware */ 7708 /* TSO with VLAN tag won't work with current firmware */
7709 if (features & NETIF_F_HW_VLAN_TX) 7709 if (features & NETIF_F_HW_VLAN_CTAG_TX)
7710 dev->vlan_features |= (dev->hw_features & NETIF_F_ALL_TSO); 7710 dev->vlan_features |= (dev->hw_features & NETIF_F_ALL_TSO);
7711 else 7711 else
7712 dev->vlan_features &= ~NETIF_F_ALL_TSO; 7712 dev->vlan_features &= ~NETIF_F_ALL_TSO;
7713 7713
7714 if ((!!(features & NETIF_F_HW_VLAN_RX) != 7714 if ((!!(features & NETIF_F_HW_VLAN_CTAG_RX) !=
7715 !!(bp->rx_mode & BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG)) && 7715 !!(bp->rx_mode & BNX2_EMAC_RX_MODE_KEEP_VLAN_TAG)) &&
7716 netif_running(dev)) { 7716 netif_running(dev)) {
7717 bnx2_netif_stop(bp, false); 7717 bnx2_netif_stop(bp, false);
@@ -8551,7 +8551,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
8551 dev->hw_features |= NETIF_F_IPV6_CSUM | NETIF_F_TSO6; 8551 dev->hw_features |= NETIF_F_IPV6_CSUM | NETIF_F_TSO6;
8552 8552
8553 dev->vlan_features = dev->hw_features; 8553 dev->vlan_features = dev->hw_features;
8554 dev->hw_features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 8554 dev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
8555 dev->features |= dev->hw_features; 8555 dev->features |= dev->hw_features;
8556 dev->priv_flags |= IFF_UNICAST_FLT; 8556 dev->priv_flags |= IFF_UNICAST_FLT;
8557 8557
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index fdfe33bc097b..1e60c5d139d1 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -12027,7 +12027,7 @@ static int bnx2x_init_dev(struct bnx2x *bp, struct pci_dev *pdev,
12027 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 12027 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
12028 NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 | 12028 NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 |
12029 NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_GRO | 12029 NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_GRO |
12030 NETIF_F_RXHASH | NETIF_F_HW_VLAN_TX; 12030 NETIF_F_RXHASH | NETIF_F_HW_VLAN_CTAG_TX;
12031 if (!CHIP_IS_E1x(bp)) { 12031 if (!CHIP_IS_E1x(bp)) {
12032 dev->hw_features |= NETIF_F_GSO_GRE; 12032 dev->hw_features |= NETIF_F_GSO_GRE;
12033 dev->hw_enc_features = 12033 dev->hw_enc_features =
@@ -12039,7 +12039,7 @@ static int bnx2x_init_dev(struct bnx2x *bp, struct pci_dev *pdev,
12039 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 12039 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
12040 NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_HIGHDMA; 12040 NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_HIGHDMA;
12041 12041
12042 dev->features |= dev->hw_features | NETIF_F_HW_VLAN_RX; 12042 dev->features |= dev->hw_features | NETIF_F_HW_VLAN_CTAG_RX;
12043 if (bp->flags & USING_DAC_FLAG) 12043 if (bp->flags & USING_DAC_FLAG)
12044 dev->features |= NETIF_F_HIGHDMA; 12044 dev->features |= NETIF_F_HIGHDMA;
12045 12045
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 45719ddfde74..0c22c9a059c4 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -17197,7 +17197,7 @@ static int tg3_init_one(struct pci_dev *pdev,
17197 17197
17198 tg3_init_bufmgr_config(tp); 17198 tg3_init_bufmgr_config(tp);
17199 17199
17200 features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 17200 features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
17201 17201
17202 /* 5700 B0 chips do not support checksumming correctly due 17202 /* 5700 B0 chips do not support checksumming correctly due
17203 * to hardware bugs. 17203 * to hardware bugs.
diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c
index d588f842d557..1d9d0371a743 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.c
+++ b/drivers/net/ethernet/brocade/bna/bnad.c
@@ -3170,14 +3170,14 @@ bnad_netdev_init(struct bnad *bnad, bool using_dac)
3170 3170
3171 netdev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM | 3171 netdev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM |
3172 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 3172 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
3173 NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_TX; 3173 NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_CTAG_TX;
3174 3174
3175 netdev->vlan_features = NETIF_F_SG | NETIF_F_HIGHDMA | 3175 netdev->vlan_features = NETIF_F_SG | NETIF_F_HIGHDMA |
3176 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 3176 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
3177 NETIF_F_TSO | NETIF_F_TSO6; 3177 NETIF_F_TSO | NETIF_F_TSO6;
3178 3178
3179 netdev->features |= netdev->hw_features | 3179 netdev->features |= netdev->hw_features |
3180 NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER; 3180 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_FILTER;
3181 3181
3182 if (using_dac) 3182 if (using_dac)
3183 netdev->features |= NETIF_F_HIGHDMA; 3183 netdev->features |= NETIF_F_HIGHDMA;
diff --git a/drivers/net/ethernet/chelsio/cxgb/cxgb2.c b/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
index 20d2085f61c5..9624cfe7df57 100644
--- a/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
+++ b/drivers/net/ethernet/chelsio/cxgb/cxgb2.c
@@ -856,10 +856,10 @@ static netdev_features_t t1_fix_features(struct net_device *dev,
856 * Since there is no support for separate rx/tx vlan accel 856 * Since there is no support for separate rx/tx vlan accel
857 * enable/disable make sure tx flag is always in same state as rx. 857 * enable/disable make sure tx flag is always in same state as rx.
858 */ 858 */
859 if (features & NETIF_F_HW_VLAN_RX) 859 if (features & NETIF_F_HW_VLAN_CTAG_RX)
860 features |= NETIF_F_HW_VLAN_TX; 860 features |= NETIF_F_HW_VLAN_CTAG_TX;
861 else 861 else
862 features &= ~NETIF_F_HW_VLAN_TX; 862 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
863 863
864 return features; 864 return features;
865} 865}
@@ -869,7 +869,7 @@ static int t1_set_features(struct net_device *dev, netdev_features_t features)
869 netdev_features_t changed = dev->features ^ features; 869 netdev_features_t changed = dev->features ^ features;
870 struct adapter *adapter = dev->ml_priv; 870 struct adapter *adapter = dev->ml_priv;
871 871
872 if (changed & NETIF_F_HW_VLAN_RX) 872 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
873 t1_vlan_mode(adapter, features); 873 t1_vlan_mode(adapter, features);
874 874
875 return 0; 875 return 0;
@@ -1085,8 +1085,9 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1085 netdev->features |= NETIF_F_HIGHDMA; 1085 netdev->features |= NETIF_F_HIGHDMA;
1086 if (vlan_tso_capable(adapter)) { 1086 if (vlan_tso_capable(adapter)) {
1087 netdev->features |= 1087 netdev->features |=
1088 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1088 NETIF_F_HW_VLAN_CTAG_TX |
1089 netdev->hw_features |= NETIF_F_HW_VLAN_RX; 1089 NETIF_F_HW_VLAN_CTAG_RX;
1090 netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX;
1090 1091
1091 /* T204: disable TSO */ 1092 /* T204: disable TSO */
1092 if (!(is_T2(adapter)) || bi->port_number != 4) { 1093 if (!(is_T2(adapter)) || bi->port_number != 4) {
diff --git a/drivers/net/ethernet/chelsio/cxgb/sge.c b/drivers/net/ethernet/chelsio/cxgb/sge.c
index 55fe8c9f0484..f85e0659432b 100644
--- a/drivers/net/ethernet/chelsio/cxgb/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb/sge.c
@@ -734,7 +734,7 @@ void t1_vlan_mode(struct adapter *adapter, netdev_features_t features)
734{ 734{
735 struct sge *sge = adapter->sge; 735 struct sge *sge = adapter->sge;
736 736
737 if (features & NETIF_F_HW_VLAN_RX) 737 if (features & NETIF_F_HW_VLAN_CTAG_RX)
738 sge->sge_control |= F_VLAN_XTRACT; 738 sge->sge_control |= F_VLAN_XTRACT;
739 else 739 else
740 sge->sge_control &= ~F_VLAN_XTRACT; 740 sge->sge_control &= ~F_VLAN_XTRACT;
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index 2b5e62193cea..71497e835f42 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -1181,14 +1181,15 @@ static void cxgb_vlan_mode(struct net_device *dev, netdev_features_t features)
1181 1181
1182 if (adapter->params.rev > 0) { 1182 if (adapter->params.rev > 0) {
1183 t3_set_vlan_accel(adapter, 1 << pi->port_id, 1183 t3_set_vlan_accel(adapter, 1 << pi->port_id,
1184 features & NETIF_F_HW_VLAN_RX); 1184 features & NETIF_F_HW_VLAN_CTAG_RX);
1185 } else { 1185 } else {
1186 /* single control for all ports */ 1186 /* single control for all ports */
1187 unsigned int i, have_vlans = features & NETIF_F_HW_VLAN_RX; 1187 unsigned int i, have_vlans = features & NETIF_F_HW_VLAN_CTAG_RX;
1188 1188
1189 for_each_port(adapter, i) 1189 for_each_port(adapter, i)
1190 have_vlans |= 1190 have_vlans |=
1191 adapter->port[i]->features & NETIF_F_HW_VLAN_RX; 1191 adapter->port[i]->features &
1192 NETIF_F_HW_VLAN_CTAG_RX;
1192 1193
1193 t3_set_vlan_accel(adapter, 1, have_vlans); 1194 t3_set_vlan_accel(adapter, 1, have_vlans);
1194 } 1195 }
@@ -2563,10 +2564,10 @@ static netdev_features_t cxgb_fix_features(struct net_device *dev,
2563 * Since there is no support for separate rx/tx vlan accel 2564 * Since there is no support for separate rx/tx vlan accel
2564 * enable/disable make sure tx flag is always in same state as rx. 2565 * enable/disable make sure tx flag is always in same state as rx.
2565 */ 2566 */
2566 if (features & NETIF_F_HW_VLAN_RX) 2567 if (features & NETIF_F_HW_VLAN_CTAG_RX)
2567 features |= NETIF_F_HW_VLAN_TX; 2568 features |= NETIF_F_HW_VLAN_CTAG_TX;
2568 else 2569 else
2569 features &= ~NETIF_F_HW_VLAN_TX; 2570 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
2570 2571
2571 return features; 2572 return features;
2572} 2573}
@@ -2575,7 +2576,7 @@ static int cxgb_set_features(struct net_device *dev, netdev_features_t features)
2575{ 2576{
2576 netdev_features_t changed = dev->features ^ features; 2577 netdev_features_t changed = dev->features ^ features;
2577 2578
2578 if (changed & NETIF_F_HW_VLAN_RX) 2579 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
2579 cxgb_vlan_mode(dev, features); 2580 cxgb_vlan_mode(dev, features);
2580 2581
2581 return 0; 2582 return 0;
@@ -3288,8 +3289,9 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
3288 netdev->mem_start = mmio_start; 3289 netdev->mem_start = mmio_start;
3289 netdev->mem_end = mmio_start + mmio_len - 1; 3290 netdev->mem_end = mmio_start + mmio_len - 1;
3290 netdev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | 3291 netdev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM |
3291 NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX; 3292 NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_RX;
3292 netdev->features |= netdev->hw_features | NETIF_F_HW_VLAN_TX; 3293 netdev->features |= netdev->hw_features |
3294 NETIF_F_HW_VLAN_CTAG_TX;
3293 netdev->vlan_features |= netdev->features & VLAN_FEAT; 3295 netdev->vlan_features |= netdev->features & VLAN_FEAT;
3294 if (pci_using_dac) 3296 if (pci_using_dac)
3295 netdev->features |= NETIF_F_HIGHDMA; 3297 netdev->features |= NETIF_F_HIGHDMA;
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index e76cf035100b..6a6a01af75fd 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -559,7 +559,7 @@ static int link_start(struct net_device *dev)
559 * that step explicitly. 559 * that step explicitly.
560 */ 560 */
561 ret = t4_set_rxmode(pi->adapter, mb, pi->viid, dev->mtu, -1, -1, -1, 561 ret = t4_set_rxmode(pi->adapter, mb, pi->viid, dev->mtu, -1, -1, -1,
562 !!(dev->features & NETIF_F_HW_VLAN_RX), true); 562 !!(dev->features & NETIF_F_HW_VLAN_CTAG_RX), true);
563 if (ret == 0) { 563 if (ret == 0) {
564 ret = t4_change_mac(pi->adapter, mb, pi->viid, 564 ret = t4_change_mac(pi->adapter, mb, pi->viid,
565 pi->xact_addr_filt, dev->dev_addr, true, 565 pi->xact_addr_filt, dev->dev_addr, true,
@@ -2722,14 +2722,14 @@ static int cxgb_set_features(struct net_device *dev, netdev_features_t features)
2722 netdev_features_t changed = dev->features ^ features; 2722 netdev_features_t changed = dev->features ^ features;
2723 int err; 2723 int err;
2724 2724
2725 if (!(changed & NETIF_F_HW_VLAN_RX)) 2725 if (!(changed & NETIF_F_HW_VLAN_CTAG_RX))
2726 return 0; 2726 return 0;
2727 2727
2728 err = t4_set_rxmode(pi->adapter, pi->adapter->fn, pi->viid, -1, 2728 err = t4_set_rxmode(pi->adapter, pi->adapter->fn, pi->viid, -1,
2729 -1, -1, -1, 2729 -1, -1, -1,
2730 !!(features & NETIF_F_HW_VLAN_RX), true); 2730 !!(features & NETIF_F_HW_VLAN_CTAG_RX), true);
2731 if (unlikely(err)) 2731 if (unlikely(err))
2732 dev->features = features ^ NETIF_F_HW_VLAN_RX; 2732 dev->features = features ^ NETIF_F_HW_VLAN_CTAG_RX;
2733 return err; 2733 return err;
2734} 2734}
2735 2735
@@ -5628,7 +5628,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
5628 netdev->hw_features = NETIF_F_SG | TSO_FLAGS | 5628 netdev->hw_features = NETIF_F_SG | TSO_FLAGS |
5629 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 5629 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
5630 NETIF_F_RXCSUM | NETIF_F_RXHASH | 5630 NETIF_F_RXCSUM | NETIF_F_RXHASH |
5631 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 5631 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
5632 if (highdma) 5632 if (highdma)
5633 netdev->hw_features |= NETIF_F_HIGHDMA; 5633 netdev->hw_features |= NETIF_F_HIGHDMA;
5634 netdev->features |= netdev->hw_features; 5634 netdev->features |= netdev->hw_features;
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
index 7fcac2003769..73aef76a526c 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c
@@ -1100,10 +1100,10 @@ static netdev_features_t cxgb4vf_fix_features(struct net_device *dev,
1100 * Since there is no support for separate rx/tx vlan accel 1100 * Since there is no support for separate rx/tx vlan accel
1101 * enable/disable make sure tx flag is always in same state as rx. 1101 * enable/disable make sure tx flag is always in same state as rx.
1102 */ 1102 */
1103 if (features & NETIF_F_HW_VLAN_RX) 1103 if (features & NETIF_F_HW_VLAN_CTAG_RX)
1104 features |= NETIF_F_HW_VLAN_TX; 1104 features |= NETIF_F_HW_VLAN_CTAG_TX;
1105 else 1105 else
1106 features &= ~NETIF_F_HW_VLAN_TX; 1106 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
1107 1107
1108 return features; 1108 return features;
1109} 1109}
@@ -1114,9 +1114,9 @@ static int cxgb4vf_set_features(struct net_device *dev,
1114 struct port_info *pi = netdev_priv(dev); 1114 struct port_info *pi = netdev_priv(dev);
1115 netdev_features_t changed = dev->features ^ features; 1115 netdev_features_t changed = dev->features ^ features;
1116 1116
1117 if (changed & NETIF_F_HW_VLAN_RX) 1117 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
1118 t4vf_set_rxmode(pi->adapter, pi->viid, -1, -1, -1, -1, 1118 t4vf_set_rxmode(pi->adapter, pi->viid, -1, -1, -1, -1,
1119 features & NETIF_F_HW_VLAN_TX, 0); 1119 features & NETIF_F_HW_VLAN_CTAG_TX, 0);
1120 1120
1121 return 0; 1121 return 0;
1122} 1122}
@@ -2623,11 +2623,12 @@ static int cxgb4vf_pci_probe(struct pci_dev *pdev,
2623 2623
2624 netdev->hw_features = NETIF_F_SG | TSO_FLAGS | 2624 netdev->hw_features = NETIF_F_SG | TSO_FLAGS |
2625 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 2625 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
2626 NETIF_F_HW_VLAN_RX | NETIF_F_RXCSUM; 2626 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_RXCSUM;
2627 netdev->vlan_features = NETIF_F_SG | TSO_FLAGS | 2627 netdev->vlan_features = NETIF_F_SG | TSO_FLAGS |
2628 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 2628 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
2629 NETIF_F_HIGHDMA; 2629 NETIF_F_HIGHDMA;
2630 netdev->features = netdev->hw_features | NETIF_F_HW_VLAN_TX; 2630 netdev->features = netdev->hw_features |
2631 NETIF_F_HW_VLAN_CTAG_TX;
2631 if (pci_using_dac) 2632 if (pci_using_dac)
2632 netdev->features |= NETIF_F_HIGHDMA; 2633 netdev->features |= NETIF_F_HIGHDMA;
2633 2634
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index ec1a233622c6..05c1e59b6bff 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -2496,9 +2496,9 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2496 netdev->watchdog_timeo = 2 * HZ; 2496 netdev->watchdog_timeo = 2 * HZ;
2497 netdev->ethtool_ops = &enic_ethtool_ops; 2497 netdev->ethtool_ops = &enic_ethtool_ops;
2498 2498
2499 netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2499 netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
2500 if (ENIC_SETTING(enic, LOOP)) { 2500 if (ENIC_SETTING(enic, LOOP)) {
2501 netdev->features &= ~NETIF_F_HW_VLAN_TX; 2501 netdev->features &= ~NETIF_F_HW_VLAN_CTAG_TX;
2502 enic->loop_enable = 1; 2502 enic->loop_enable = 1;
2503 enic->loop_tag = enic->config.loop_tag; 2503 enic->loop_tag = enic->config.loop_tag;
2504 dev_info(dev, "loopback tag=0x%04x\n", enic->loop_tag); 2504 dev_info(dev, "loopback tag=0x%04x\n", enic->loop_tag);
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 536afa2fb94c..bde26d4d52ec 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -3663,12 +3663,12 @@ static void be_netdev_init(struct net_device *netdev)
3663 3663
3664 netdev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | 3664 netdev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
3665 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | 3665 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM |
3666 NETIF_F_HW_VLAN_TX; 3666 NETIF_F_HW_VLAN_CTAG_TX;
3667 if (be_multi_rxq(adapter)) 3667 if (be_multi_rxq(adapter))
3668 netdev->hw_features |= NETIF_F_RXHASH; 3668 netdev->hw_features |= NETIF_F_RXHASH;
3669 3669
3670 netdev->features |= netdev->hw_features | 3670 netdev->features |= netdev->hw_features |
3671 NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER; 3671 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_FILTER;
3672 3672
3673 netdev->vlan_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | 3673 netdev->vlan_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
3674 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM; 3674 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 96fbe3548243..51555445ce2f 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -386,7 +386,7 @@ static void gfar_init_mac(struct net_device *ndev)
386 priv->uses_rxfcb = 1; 386 priv->uses_rxfcb = 1;
387 } 387 }
388 388
389 if (ndev->features & NETIF_F_HW_VLAN_RX) { 389 if (ndev->features & NETIF_F_HW_VLAN_CTAG_RX) {
390 rctrl |= RCTRL_VLEX | RCTRL_PRSDEP_INIT; 390 rctrl |= RCTRL_VLEX | RCTRL_PRSDEP_INIT;
391 priv->uses_rxfcb = 1; 391 priv->uses_rxfcb = 1;
392 } 392 }
@@ -1050,8 +1050,9 @@ static int gfar_probe(struct platform_device *ofdev)
1050 } 1050 }
1051 1051
1052 if (priv->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) { 1052 if (priv->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) {
1053 dev->hw_features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1053 dev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX |
1054 dev->features |= NETIF_F_HW_VLAN_RX; 1054 NETIF_F_HW_VLAN_CTAG_RX;
1055 dev->features |= NETIF_F_HW_VLAN_CTAG_RX;
1055 } 1056 }
1056 1057
1057 if (priv->device_flags & FSL_GIANFAR_DEV_HAS_EXTENDED_HASH) { 1058 if (priv->device_flags & FSL_GIANFAR_DEV_HAS_EXTENDED_HASH) {
@@ -2348,7 +2349,7 @@ void gfar_vlan_mode(struct net_device *dev, netdev_features_t features)
2348 local_irq_save(flags); 2349 local_irq_save(flags);
2349 lock_rx_qs(priv); 2350 lock_rx_qs(priv);
2350 2351
2351 if (features & NETIF_F_HW_VLAN_TX) { 2352 if (features & NETIF_F_HW_VLAN_CTAG_TX) {
2352 /* Enable VLAN tag insertion */ 2353 /* Enable VLAN tag insertion */
2353 tempval = gfar_read(&regs->tctrl); 2354 tempval = gfar_read(&regs->tctrl);
2354 tempval |= TCTRL_VLINS; 2355 tempval |= TCTRL_VLINS;
@@ -2360,7 +2361,7 @@ void gfar_vlan_mode(struct net_device *dev, netdev_features_t features)
2360 gfar_write(&regs->tctrl, tempval); 2361 gfar_write(&regs->tctrl, tempval);
2361 } 2362 }
2362 2363
2363 if (features & NETIF_F_HW_VLAN_RX) { 2364 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
2364 /* Enable VLAN tag extraction */ 2365 /* Enable VLAN tag extraction */
2365 tempval = gfar_read(&regs->rctrl); 2366 tempval = gfar_read(&regs->rctrl);
2366 tempval |= (RCTRL_VLEX | RCTRL_PRSDEP_INIT); 2367 tempval |= (RCTRL_VLEX | RCTRL_PRSDEP_INIT);
@@ -2724,11 +2725,11 @@ static void gfar_process_frame(struct net_device *dev, struct sk_buff *skb,
2724 /* Tell the skb what kind of packet this is */ 2725 /* Tell the skb what kind of packet this is */
2725 skb->protocol = eth_type_trans(skb, dev); 2726 skb->protocol = eth_type_trans(skb, dev);
2726 2727
2727 /* There's need to check for NETIF_F_HW_VLAN_RX here. 2728 /* There's need to check for NETIF_F_HW_VLAN_CTAG_RX here.
2728 * Even if vlan rx accel is disabled, on some chips 2729 * Even if vlan rx accel is disabled, on some chips
2729 * RXFCB_VLN is pseudo randomly set. 2730 * RXFCB_VLN is pseudo randomly set.
2730 */ 2731 */
2731 if (dev->features & NETIF_F_HW_VLAN_RX && 2732 if (dev->features & NETIF_F_HW_VLAN_CTAG_RX &&
2732 fcb->flags & RXFCB_VLN) 2733 fcb->flags & RXFCB_VLN)
2733 __vlan_hwaccel_put_tag(skb, fcb->vlctl); 2734 __vlan_hwaccel_put_tag(skb, fcb->vlctl);
2734 2735
diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c
index 083603f6bec0..21cd88124ca9 100644
--- a/drivers/net/ethernet/freescale/gianfar_ethtool.c
+++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c
@@ -542,7 +542,7 @@ int gfar_set_features(struct net_device *dev, netdev_features_t features)
542 int err = 0, i = 0; 542 int err = 0, i = 0;
543 netdev_features_t changed = dev->features ^ features; 543 netdev_features_t changed = dev->features ^ features;
544 544
545 if (changed & (NETIF_F_HW_VLAN_TX|NETIF_F_HW_VLAN_RX)) 545 if (changed & (NETIF_F_HW_VLAN_CTAG_TX|NETIF_F_HW_VLAN_CTAG_RX))
546 gfar_vlan_mode(dev, features); 546 gfar_vlan_mode(dev, features);
547 547
548 if (!(changed & NETIF_F_RXCSUM)) 548 if (!(changed & NETIF_F_RXCSUM))
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index 029633434474..9c9fa745ff82 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -3021,11 +3021,11 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
3021 ehea_set_ethtool_ops(dev); 3021 ehea_set_ethtool_ops(dev);
3022 3022
3023 dev->hw_features = NETIF_F_SG | NETIF_F_TSO 3023 dev->hw_features = NETIF_F_SG | NETIF_F_TSO
3024 | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX; 3024 | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_CTAG_TX;
3025 dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO 3025 dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
3026 | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX 3026 | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM |
3027 | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER 3027 | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
3028 | NETIF_F_RXCSUM; 3028 | NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXCSUM;
3029 dev->vlan_features = NETIF_F_SG | NETIF_F_TSO | NETIF_F_HIGHDMA | 3029 dev->vlan_features = NETIF_F_SG | NETIF_F_TSO | NETIF_F_HIGHDMA |
3030 NETIF_F_IP_CSUM; 3030 NETIF_F_IP_CSUM;
3031 dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT; 3031 dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT;
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index d98e1d0996d4..8d0d0d420c21 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -809,10 +809,10 @@ static netdev_features_t e1000_fix_features(struct net_device *netdev,
809 /* Since there is no support for separate Rx/Tx vlan accel 809 /* Since there is no support for separate Rx/Tx vlan accel
810 * enable/disable make sure Tx flag is always in same state as Rx. 810 * enable/disable make sure Tx flag is always in same state as Rx.
811 */ 811 */
812 if (features & NETIF_F_HW_VLAN_RX) 812 if (features & NETIF_F_HW_VLAN_CTAG_RX)
813 features |= NETIF_F_HW_VLAN_TX; 813 features |= NETIF_F_HW_VLAN_CTAG_TX;
814 else 814 else
815 features &= ~NETIF_F_HW_VLAN_TX; 815 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
816 816
817 return features; 817 return features;
818} 818}
@@ -823,7 +823,7 @@ static int e1000_set_features(struct net_device *netdev,
823 struct e1000_adapter *adapter = netdev_priv(netdev); 823 struct e1000_adapter *adapter = netdev_priv(netdev);
824 netdev_features_t changed = features ^ netdev->features; 824 netdev_features_t changed = features ^ netdev->features;
825 825
826 if (changed & NETIF_F_HW_VLAN_RX) 826 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
827 e1000_vlan_mode(netdev, features); 827 e1000_vlan_mode(netdev, features);
828 828
829 if (!(changed & (NETIF_F_RXCSUM | NETIF_F_RXALL))) 829 if (!(changed & (NETIF_F_RXCSUM | NETIF_F_RXALL)))
@@ -1058,9 +1058,9 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1058 if (hw->mac_type >= e1000_82543) { 1058 if (hw->mac_type >= e1000_82543) {
1059 netdev->hw_features = NETIF_F_SG | 1059 netdev->hw_features = NETIF_F_SG |
1060 NETIF_F_HW_CSUM | 1060 NETIF_F_HW_CSUM |
1061 NETIF_F_HW_VLAN_RX; 1061 NETIF_F_HW_VLAN_CTAG_RX;
1062 netdev->features = NETIF_F_HW_VLAN_TX | 1062 netdev->features = NETIF_F_HW_VLAN_CTAG_TX |
1063 NETIF_F_HW_VLAN_FILTER; 1063 NETIF_F_HW_VLAN_CTAG_FILTER;
1064 } 1064 }
1065 1065
1066 if ((hw->mac_type >= e1000_82544) && 1066 if ((hw->mac_type >= e1000_82544) &&
@@ -4785,7 +4785,7 @@ static void __e1000_vlan_mode(struct e1000_adapter *adapter,
4785 u32 ctrl; 4785 u32 ctrl;
4786 4786
4787 ctrl = er32(CTRL); 4787 ctrl = er32(CTRL);
4788 if (features & NETIF_F_HW_VLAN_RX) { 4788 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
4789 /* enable VLAN tag insert/strip */ 4789 /* enable VLAN tag insert/strip */
4790 ctrl |= E1000_CTRL_VME; 4790 ctrl |= E1000_CTRL_VME;
4791 } else { 4791 } else {
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index b18fad5b579e..a2e7db33bf9d 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3373,7 +3373,7 @@ static void e1000e_set_rx_mode(struct net_device *netdev)
3373 3373
3374 ew32(RCTL, rctl); 3374 ew32(RCTL, rctl);
3375 3375
3376 if (netdev->features & NETIF_F_HW_VLAN_RX) 3376 if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
3377 e1000e_vlan_strip_enable(adapter); 3377 e1000e_vlan_strip_enable(adapter);
3378 else 3378 else
3379 e1000e_vlan_strip_disable(adapter); 3379 e1000e_vlan_strip_disable(adapter);
@@ -6418,7 +6418,7 @@ static int e1000_set_features(struct net_device *netdev,
6418 if (changed & (NETIF_F_TSO | NETIF_F_TSO6)) 6418 if (changed & (NETIF_F_TSO | NETIF_F_TSO6))
6419 adapter->flags |= FLAG_TSO_FORCE; 6419 adapter->flags |= FLAG_TSO_FORCE;
6420 6420
6421 if (!(changed & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX | 6421 if (!(changed & (NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_TX |
6422 NETIF_F_RXCSUM | NETIF_F_RXHASH | NETIF_F_RXFCS | 6422 NETIF_F_RXCSUM | NETIF_F_RXHASH | NETIF_F_RXFCS |
6423 NETIF_F_RXALL))) 6423 NETIF_F_RXALL)))
6424 return 0; 6424 return 0;
@@ -6629,8 +6629,8 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
6629 6629
6630 /* Set initial default active device features */ 6630 /* Set initial default active device features */
6631 netdev->features = (NETIF_F_SG | 6631 netdev->features = (NETIF_F_SG |
6632 NETIF_F_HW_VLAN_RX | 6632 NETIF_F_HW_VLAN_CTAG_RX |
6633 NETIF_F_HW_VLAN_TX | 6633 NETIF_F_HW_VLAN_CTAG_TX |
6634 NETIF_F_TSO | 6634 NETIF_F_TSO |
6635 NETIF_F_TSO6 | 6635 NETIF_F_TSO6 |
6636 NETIF_F_RXHASH | 6636 NETIF_F_RXHASH |
@@ -6644,7 +6644,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
6644 netdev->hw_features |= NETIF_F_RXALL; 6644 netdev->hw_features |= NETIF_F_RXALL;
6645 6645
6646 if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) 6646 if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER)
6647 netdev->features |= NETIF_F_HW_VLAN_FILTER; 6647 netdev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
6648 6648
6649 netdev->vlan_features |= (NETIF_F_SG | 6649 netdev->vlan_features |= (NETIF_F_SG |
6650 NETIF_F_TSO | 6650 NETIF_F_TSO |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 38590252be64..b0b1777c0af6 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -1860,10 +1860,10 @@ static netdev_features_t igb_fix_features(struct net_device *netdev,
1860 /* Since there is no support for separate Rx/Tx vlan accel 1860 /* Since there is no support for separate Rx/Tx vlan accel
1861 * enable/disable make sure Tx flag is always in same state as Rx. 1861 * enable/disable make sure Tx flag is always in same state as Rx.
1862 */ 1862 */
1863 if (features & NETIF_F_HW_VLAN_RX) 1863 if (features & NETIF_F_HW_VLAN_CTAG_RX)
1864 features |= NETIF_F_HW_VLAN_TX; 1864 features |= NETIF_F_HW_VLAN_CTAG_TX;
1865 else 1865 else
1866 features &= ~NETIF_F_HW_VLAN_TX; 1866 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
1867 1867
1868 return features; 1868 return features;
1869} 1869}
@@ -1874,7 +1874,7 @@ static int igb_set_features(struct net_device *netdev,
1874 netdev_features_t changed = netdev->features ^ features; 1874 netdev_features_t changed = netdev->features ^ features;
1875 struct igb_adapter *adapter = netdev_priv(netdev); 1875 struct igb_adapter *adapter = netdev_priv(netdev);
1876 1876
1877 if (changed & NETIF_F_HW_VLAN_RX) 1877 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
1878 igb_vlan_mode(netdev, features); 1878 igb_vlan_mode(netdev, features);
1879 1879
1880 if (!(changed & NETIF_F_RXALL)) 1880 if (!(changed & NETIF_F_RXALL))
@@ -2127,15 +2127,15 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2127 NETIF_F_TSO6 | 2127 NETIF_F_TSO6 |
2128 NETIF_F_RXHASH | 2128 NETIF_F_RXHASH |
2129 NETIF_F_RXCSUM | 2129 NETIF_F_RXCSUM |
2130 NETIF_F_HW_VLAN_RX | 2130 NETIF_F_HW_VLAN_CTAG_RX |
2131 NETIF_F_HW_VLAN_TX; 2131 NETIF_F_HW_VLAN_CTAG_TX;
2132 2132
2133 /* copy netdev features into list of user selectable features */ 2133 /* copy netdev features into list of user selectable features */
2134 netdev->hw_features |= netdev->features; 2134 netdev->hw_features |= netdev->features;
2135 netdev->hw_features |= NETIF_F_RXALL; 2135 netdev->hw_features |= NETIF_F_RXALL;
2136 2136
2137 /* set this bit last since it cannot be part of hw_features */ 2137 /* set this bit last since it cannot be part of hw_features */
2138 netdev->features |= NETIF_F_HW_VLAN_FILTER; 2138 netdev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
2139 2139
2140 netdev->vlan_features |= NETIF_F_TSO | 2140 netdev->vlan_features |= NETIF_F_TSO |
2141 NETIF_F_TSO6 | 2141 NETIF_F_TSO6 |
@@ -6674,7 +6674,7 @@ static void igb_process_skb_fields(struct igb_ring *rx_ring,
6674 6674
6675 igb_ptp_rx_hwtstamp(rx_ring->q_vector, rx_desc, skb); 6675 igb_ptp_rx_hwtstamp(rx_ring->q_vector, rx_desc, skb);
6676 6676
6677 if ((dev->features & NETIF_F_HW_VLAN_RX) && 6677 if ((dev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
6678 igb_test_staterr(rx_desc, E1000_RXD_STAT_VP)) { 6678 igb_test_staterr(rx_desc, E1000_RXD_STAT_VP)) {
6679 u16 vid; 6679 u16 vid;
6680 if (igb_test_staterr(rx_desc, E1000_RXDEXT_STATERR_LB) && 6680 if (igb_test_staterr(rx_desc, E1000_RXDEXT_STATERR_LB) &&
@@ -6954,7 +6954,7 @@ static void igb_vlan_mode(struct net_device *netdev, netdev_features_t features)
6954 struct igb_adapter *adapter = netdev_priv(netdev); 6954 struct igb_adapter *adapter = netdev_priv(netdev);
6955 struct e1000_hw *hw = &adapter->hw; 6955 struct e1000_hw *hw = &adapter->hw;
6956 u32 ctrl, rctl; 6956 u32 ctrl, rctl;
6957 bool enable = !!(features & NETIF_F_HW_VLAN_RX); 6957 bool enable = !!(features & NETIF_F_HW_VLAN_CTAG_RX);
6958 6958
6959 if (enable) { 6959 if (enable) {
6960 /* enable VLAN tag insert/strip */ 6960 /* enable VLAN tag insert/strip */
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index bea46bb26061..33e7b3069fb6 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -2722,9 +2722,9 @@ static int igbvf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2722 NETIF_F_RXCSUM; 2722 NETIF_F_RXCSUM;
2723 2723
2724 netdev->features = netdev->hw_features | 2724 netdev->features = netdev->hw_features |
2725 NETIF_F_HW_VLAN_TX | 2725 NETIF_F_HW_VLAN_CTAG_TX |
2726 NETIF_F_HW_VLAN_RX | 2726 NETIF_F_HW_VLAN_CTAG_RX |
2727 NETIF_F_HW_VLAN_FILTER; 2727 NETIF_F_HW_VLAN_CTAG_FILTER;
2728 2728
2729 if (pci_using_dac) 2729 if (pci_using_dac)
2730 netdev->features |= NETIF_F_HIGHDMA; 2730 netdev->features |= NETIF_F_HIGHDMA;
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
index 5dc119fd95a8..e65d9e910227 100644
--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c
+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
@@ -332,8 +332,8 @@ ixgb_fix_features(struct net_device *netdev, netdev_features_t features)
332 * Tx VLAN insertion does not work per HW design when Rx stripping is 332 * Tx VLAN insertion does not work per HW design when Rx stripping is
333 * disabled. 333 * disabled.
334 */ 334 */
335 if (!(features & NETIF_F_HW_VLAN_RX)) 335 if (!(features & NETIF_F_HW_VLAN_CTAG_RX))
336 features &= ~NETIF_F_HW_VLAN_TX; 336 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
337 337
338 return features; 338 return features;
339} 339}
@@ -344,7 +344,7 @@ ixgb_set_features(struct net_device *netdev, netdev_features_t features)
344 struct ixgb_adapter *adapter = netdev_priv(netdev); 344 struct ixgb_adapter *adapter = netdev_priv(netdev);
345 netdev_features_t changed = features ^ netdev->features; 345 netdev_features_t changed = features ^ netdev->features;
346 346
347 if (!(changed & (NETIF_F_RXCSUM|NETIF_F_HW_VLAN_RX))) 347 if (!(changed & (NETIF_F_RXCSUM|NETIF_F_HW_VLAN_CTAG_RX)))
348 return 0; 348 return 0;
349 349
350 adapter->rx_csum = !!(features & NETIF_F_RXCSUM); 350 adapter->rx_csum = !!(features & NETIF_F_RXCSUM);
@@ -479,10 +479,10 @@ ixgb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
479 netdev->hw_features = NETIF_F_SG | 479 netdev->hw_features = NETIF_F_SG |
480 NETIF_F_TSO | 480 NETIF_F_TSO |
481 NETIF_F_HW_CSUM | 481 NETIF_F_HW_CSUM |
482 NETIF_F_HW_VLAN_TX | 482 NETIF_F_HW_VLAN_CTAG_TX |
483 NETIF_F_HW_VLAN_RX; 483 NETIF_F_HW_VLAN_CTAG_RX;
484 netdev->features = netdev->hw_features | 484 netdev->features = netdev->hw_features |
485 NETIF_F_HW_VLAN_FILTER; 485 NETIF_F_HW_VLAN_CTAG_FILTER;
486 netdev->hw_features |= NETIF_F_RXCSUM; 486 netdev->hw_features |= NETIF_F_RXCSUM;
487 487
488 if (pci_using_dac) { 488 if (pci_using_dac) {
@@ -1140,7 +1140,7 @@ ixgb_set_multi(struct net_device *netdev)
1140 } 1140 }
1141 1141
1142alloc_failed: 1142alloc_failed:
1143 if (netdev->features & NETIF_F_HW_VLAN_RX) 1143 if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
1144 ixgb_vlan_strip_enable(adapter); 1144 ixgb_vlan_strip_enable(adapter);
1145 else 1145 else
1146 ixgb_vlan_strip_disable(adapter); 1146 ixgb_vlan_strip_disable(adapter);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index c022f9c417a6..0316b65dfe06 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1488,7 +1488,7 @@ static void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
1488 1488
1489 ixgbe_ptp_rx_hwtstamp(rx_ring, rx_desc, skb); 1489 ixgbe_ptp_rx_hwtstamp(rx_ring, rx_desc, skb);
1490 1490
1491 if ((dev->features & NETIF_F_HW_VLAN_RX) && 1491 if ((dev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
1492 ixgbe_test_staterr(rx_desc, IXGBE_RXD_STAT_VP)) { 1492 ixgbe_test_staterr(rx_desc, IXGBE_RXD_STAT_VP)) {
1493 u16 vid = le16_to_cpu(rx_desc->wb.upper.vlan); 1493 u16 vid = le16_to_cpu(rx_desc->wb.upper.vlan);
1494 __vlan_hwaccel_put_tag(skb, vid); 1494 __vlan_hwaccel_put_tag(skb, vid);
@@ -3722,7 +3722,7 @@ void ixgbe_set_rx_mode(struct net_device *netdev)
3722 3722
3723 IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl); 3723 IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl);
3724 3724
3725 if (netdev->features & NETIF_F_HW_VLAN_RX) 3725 if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
3726 ixgbe_vlan_strip_enable(adapter); 3726 ixgbe_vlan_strip_enable(adapter);
3727 else 3727 else
3728 ixgbe_vlan_strip_disable(adapter); 3728 ixgbe_vlan_strip_disable(adapter);
@@ -7024,7 +7024,7 @@ static int ixgbe_set_features(struct net_device *netdev,
7024 break; 7024 break;
7025 } 7025 }
7026 7026
7027 if (features & NETIF_F_HW_VLAN_RX) 7027 if (features & NETIF_F_HW_VLAN_CTAG_RX)
7028 ixgbe_vlan_strip_enable(adapter); 7028 ixgbe_vlan_strip_enable(adapter);
7029 else 7029 else
7030 ixgbe_vlan_strip_disable(adapter); 7030 ixgbe_vlan_strip_disable(adapter);
@@ -7431,9 +7431,9 @@ skip_sriov:
7431 netdev->features = NETIF_F_SG | 7431 netdev->features = NETIF_F_SG |
7432 NETIF_F_IP_CSUM | 7432 NETIF_F_IP_CSUM |
7433 NETIF_F_IPV6_CSUM | 7433 NETIF_F_IPV6_CSUM |
7434 NETIF_F_HW_VLAN_TX | 7434 NETIF_F_HW_VLAN_CTAG_TX |
7435 NETIF_F_HW_VLAN_RX | 7435 NETIF_F_HW_VLAN_CTAG_RX |
7436 NETIF_F_HW_VLAN_FILTER | 7436 NETIF_F_HW_VLAN_CTAG_FILTER |
7437 NETIF_F_TSO | 7437 NETIF_F_TSO |
7438 NETIF_F_TSO6 | 7438 NETIF_F_TSO6 |
7439 NETIF_F_RXHASH | 7439 NETIF_F_RXHASH |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index b3e6530637e3..2d4bdcc4fdbe 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -35,7 +35,7 @@
35#include <linux/ip.h> 35#include <linux/ip.h>
36#include <linux/tcp.h> 36#include <linux/tcp.h>
37#include <linux/ipv6.h> 37#include <linux/ipv6.h>
38#ifdef NETIF_F_HW_VLAN_TX 38#ifdef NETIF_F_HW_VLAN_CTAG_TX
39#include <linux/if_vlan.h> 39#include <linux/if_vlan.h>
40#endif 40#endif
41 41
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index eeae9349f78b..8f907b7af319 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -3410,9 +3410,9 @@ static int ixgbevf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
3410 NETIF_F_RXCSUM; 3410 NETIF_F_RXCSUM;
3411 3411
3412 netdev->features = netdev->hw_features | 3412 netdev->features = netdev->hw_features |
3413 NETIF_F_HW_VLAN_TX | 3413 NETIF_F_HW_VLAN_CTAG_TX |
3414 NETIF_F_HW_VLAN_RX | 3414 NETIF_F_HW_VLAN_CTAG_RX |
3415 NETIF_F_HW_VLAN_FILTER; 3415 NETIF_F_HW_VLAN_CTAG_FILTER;
3416 3416
3417 netdev->vlan_features |= NETIF_F_TSO; 3417 netdev->vlan_features |= NETIF_F_TSO;
3418 netdev->vlan_features |= NETIF_F_TSO6; 3418 netdev->vlan_features |= NETIF_F_TSO6;
diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
index 0519afa413d2..d28ce6f97172 100644
--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -3030,8 +3030,8 @@ jme_init_one(struct pci_dev *pdev,
3030 NETIF_F_SG | 3030 NETIF_F_SG |
3031 NETIF_F_TSO | 3031 NETIF_F_TSO |
3032 NETIF_F_TSO6 | 3032 NETIF_F_TSO6 |
3033 NETIF_F_HW_VLAN_TX | 3033 NETIF_F_HW_VLAN_CTAG_TX |
3034 NETIF_F_HW_VLAN_RX; 3034 NETIF_F_HW_VLAN_CTAG_RX;
3035 if (using_dac) 3035 if (using_dac)
3036 netdev->features |= NETIF_F_HIGHDMA; 3036 netdev->features |= NETIF_F_HIGHDMA;
3037 3037
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 6a0e671fcecd..bf9da1b7b090 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -1421,14 +1421,14 @@ static void sky2_vlan_mode(struct net_device *dev, netdev_features_t features)
1421 struct sky2_hw *hw = sky2->hw; 1421 struct sky2_hw *hw = sky2->hw;
1422 u16 port = sky2->port; 1422 u16 port = sky2->port;
1423 1423
1424 if (features & NETIF_F_HW_VLAN_RX) 1424 if (features & NETIF_F_HW_VLAN_CTAG_RX)
1425 sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), 1425 sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T),
1426 RX_VLAN_STRIP_ON); 1426 RX_VLAN_STRIP_ON);
1427 else 1427 else
1428 sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), 1428 sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T),
1429 RX_VLAN_STRIP_OFF); 1429 RX_VLAN_STRIP_OFF);
1430 1430
1431 if (features & NETIF_F_HW_VLAN_TX) { 1431 if (features & NETIF_F_HW_VLAN_CTAG_TX) {
1432 sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), 1432 sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T),
1433 TX_VLAN_TAG_ON); 1433 TX_VLAN_TAG_ON);
1434 1434
@@ -4406,7 +4406,7 @@ static int sky2_set_features(struct net_device *dev, netdev_features_t features)
4406 if (changed & NETIF_F_RXHASH) 4406 if (changed & NETIF_F_RXHASH)
4407 rx_set_rss(dev, features); 4407 rx_set_rss(dev, features);
4408 4408
4409 if (changed & (NETIF_F_HW_VLAN_TX|NETIF_F_HW_VLAN_RX)) 4409 if (changed & (NETIF_F_HW_VLAN_CTAG_TX|NETIF_F_HW_VLAN_CTAG_RX))
4410 sky2_vlan_mode(dev, features); 4410 sky2_vlan_mode(dev, features);
4411 4411
4412 return 0; 4412 return 0;
@@ -4793,7 +4793,8 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port,
4793 dev->hw_features |= NETIF_F_RXHASH; 4793 dev->hw_features |= NETIF_F_RXHASH;
4794 4794
4795 if (!(hw->flags & SKY2_HW_VLAN_BROKEN)) { 4795 if (!(hw->flags & SKY2_HW_VLAN_BROKEN)) {
4796 dev->hw_features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 4796 dev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX |
4797 NETIF_F_HW_VLAN_CTAG_RX;
4797 dev->vlan_features |= SKY2_VLAN_OFFLOADS; 4798 dev->vlan_features |= SKY2_VLAN_OFFLOADS;
4798 } 4799 }
4799 4800
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index d2a4f919bf1f..b2ba39c7143a 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -2082,8 +2082,8 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
2082 2082
2083 dev->hw_features |= NETIF_F_RXCSUM | NETIF_F_RXHASH; 2083 dev->hw_features |= NETIF_F_RXCSUM | NETIF_F_RXHASH;
2084 dev->features = dev->hw_features | NETIF_F_HIGHDMA | 2084 dev->features = dev->hw_features | NETIF_F_HIGHDMA |
2085 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX | 2085 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
2086 NETIF_F_HW_VLAN_FILTER; 2086 NETIF_F_HW_VLAN_CTAG_FILTER;
2087 dev->hw_features |= NETIF_F_LOOPBACK; 2087 dev->hw_features |= NETIF_F_LOOPBACK;
2088 2088
2089 if (mdev->dev->caps.steering_mode == 2089 if (mdev->dev->caps.steering_mode ==
diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
index d5ffdc8264eb..46262ea610fd 100644
--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
@@ -1281,7 +1281,8 @@ myri10ge_vlan_rx(struct net_device *dev, void *addr, struct sk_buff *skb)
1281 va = addr; 1281 va = addr;
1282 va += MXGEFW_PAD; 1282 va += MXGEFW_PAD;
1283 veh = (struct vlan_ethhdr *)va; 1283 veh = (struct vlan_ethhdr *)va;
1284 if ((dev->features & NETIF_F_HW_VLAN_RX) == NETIF_F_HW_VLAN_RX && 1284 if ((dev->features & NETIF_F_HW_VLAN_CTAG_RX) ==
1285 NETIF_F_HW_VLAN_CTAG_RX &&
1285 veh->h_vlan_proto == htons(ETH_P_8021Q)) { 1286 veh->h_vlan_proto == htons(ETH_P_8021Q)) {
1286 /* fixup csum if needed */ 1287 /* fixup csum if needed */
1287 if (skb->ip_summed == CHECKSUM_COMPLETE) { 1288 if (skb->ip_summed == CHECKSUM_COMPLETE) {
@@ -3887,8 +3888,8 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
3887 netdev->mtu = myri10ge_initial_mtu; 3888 netdev->mtu = myri10ge_initial_mtu;
3888 netdev->hw_features = mgp->features | NETIF_F_RXCSUM; 3889 netdev->hw_features = mgp->features | NETIF_F_RXCSUM;
3889 3890
3890 /* fake NETIF_F_HW_VLAN_RX for good GRO performance */ 3891 /* fake NETIF_F_HW_VLAN_CTAG_RX for good GRO performance */
3891 netdev->hw_features |= NETIF_F_HW_VLAN_RX; 3892 netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX;
3892 3893
3893 netdev->features = netdev->hw_features; 3894 netdev->features = netdev->hw_features;
3894 3895
diff --git a/drivers/net/ethernet/natsemi/ns83820.c b/drivers/net/ethernet/natsemi/ns83820.c
index 77c070de621e..60267e91cbda 100644
--- a/drivers/net/ethernet/natsemi/ns83820.c
+++ b/drivers/net/ethernet/natsemi/ns83820.c
@@ -2193,7 +2193,7 @@ static int ns83820_init_one(struct pci_dev *pci_dev,
2193 2193
2194#ifdef NS83820_VLAN_ACCEL_SUPPORT 2194#ifdef NS83820_VLAN_ACCEL_SUPPORT
2195 /* We also support hardware vlan acceleration */ 2195 /* We also support hardware vlan acceleration */
2196 ndev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2196 ndev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
2197#endif 2197#endif
2198 2198
2199 if (using_dac) { 2199 if (using_dac) {
diff --git a/drivers/net/ethernet/neterion/s2io.c b/drivers/net/ethernet/neterion/s2io.c
index 3371ff41bb34..ec82d59b03ed 100644
--- a/drivers/net/ethernet/neterion/s2io.c
+++ b/drivers/net/ethernet/neterion/s2io.c
@@ -7920,7 +7920,7 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)
7920 NETIF_F_TSO | NETIF_F_TSO6 | 7920 NETIF_F_TSO | NETIF_F_TSO6 |
7921 NETIF_F_RXCSUM | NETIF_F_LRO; 7921 NETIF_F_RXCSUM | NETIF_F_LRO;
7922 dev->features |= dev->hw_features | 7922 dev->features |= dev->hw_features |
7923 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 7923 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
7924 if (sp->device_type & XFRAME_II_DEVICE) { 7924 if (sp->device_type & XFRAME_II_DEVICE) {
7925 dev->hw_features |= NETIF_F_UFO; 7925 dev->hw_features |= NETIF_F_UFO;
7926 if (ufo) 7926 if (ufo)
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
index 794444e09492..e9e58aadf87e 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
@@ -3415,12 +3415,12 @@ static int vxge_device_register(struct __vxge_hw_device *hldev,
3415 ndev->hw_features = NETIF_F_RXCSUM | NETIF_F_SG | 3415 ndev->hw_features = NETIF_F_RXCSUM | NETIF_F_SG |
3416 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | 3416 NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
3417 NETIF_F_TSO | NETIF_F_TSO6 | 3417 NETIF_F_TSO | NETIF_F_TSO6 |
3418 NETIF_F_HW_VLAN_TX; 3418 NETIF_F_HW_VLAN_CTAG_TX;
3419 if (vdev->config.rth_steering != NO_STEERING) 3419 if (vdev->config.rth_steering != NO_STEERING)
3420 ndev->hw_features |= NETIF_F_RXHASH; 3420 ndev->hw_features |= NETIF_F_RXHASH;
3421 3421
3422 ndev->features |= ndev->hw_features | 3422 ndev->features |= ndev->hw_features |
3423 NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER; 3423 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_FILTER;
3424 3424
3425 3425
3426 ndev->netdev_ops = &vxge_netdev_ops; 3426 ndev->netdev_ops = &vxge_netdev_ops;
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 5ae124719790..fcad64081d74 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -2961,11 +2961,11 @@ static int nv_rx_process_optimized(struct net_device *dev, int limit)
2961 vlanflags = le32_to_cpu(np->get_rx.ex->buflow); 2961 vlanflags = le32_to_cpu(np->get_rx.ex->buflow);
2962 2962
2963 /* 2963 /*
2964 * There's need to check for NETIF_F_HW_VLAN_RX here. 2964 * There's need to check for NETIF_F_HW_VLAN_CTAG_RX
2965 * Even if vlan rx accel is disabled, 2965 * here. Even if vlan rx accel is disabled,
2966 * NV_RX3_VLAN_TAG_PRESENT is pseudo randomly set. 2966 * NV_RX3_VLAN_TAG_PRESENT is pseudo randomly set.
2967 */ 2967 */
2968 if (dev->features & NETIF_F_HW_VLAN_RX && 2968 if (dev->features & NETIF_F_HW_VLAN_CTAG_RX &&
2969 vlanflags & NV_RX3_VLAN_TAG_PRESENT) { 2969 vlanflags & NV_RX3_VLAN_TAG_PRESENT) {
2970 u16 vid = vlanflags & NV_RX3_VLAN_TAG_MASK; 2970 u16 vid = vlanflags & NV_RX3_VLAN_TAG_MASK;
2971 2971
@@ -4816,7 +4816,7 @@ static netdev_features_t nv_fix_features(struct net_device *dev,
4816 netdev_features_t features) 4816 netdev_features_t features)
4817{ 4817{
4818 /* vlan is dependent on rx checksum offload */ 4818 /* vlan is dependent on rx checksum offload */
4819 if (features & (NETIF_F_HW_VLAN_TX|NETIF_F_HW_VLAN_RX)) 4819 if (features & (NETIF_F_HW_VLAN_CTAG_TX|NETIF_F_HW_VLAN_CTAG_RX))
4820 features |= NETIF_F_RXCSUM; 4820 features |= NETIF_F_RXCSUM;
4821 4821
4822 return features; 4822 return features;
@@ -4828,12 +4828,12 @@ static void nv_vlan_mode(struct net_device *dev, netdev_features_t features)
4828 4828
4829 spin_lock_irq(&np->lock); 4829 spin_lock_irq(&np->lock);
4830 4830
4831 if (features & NETIF_F_HW_VLAN_RX) 4831 if (features & NETIF_F_HW_VLAN_CTAG_RX)
4832 np->txrxctl_bits |= NVREG_TXRXCTL_VLANSTRIP; 4832 np->txrxctl_bits |= NVREG_TXRXCTL_VLANSTRIP;
4833 else 4833 else
4834 np->txrxctl_bits &= ~NVREG_TXRXCTL_VLANSTRIP; 4834 np->txrxctl_bits &= ~NVREG_TXRXCTL_VLANSTRIP;
4835 4835
4836 if (features & NETIF_F_HW_VLAN_TX) 4836 if (features & NETIF_F_HW_VLAN_CTAG_TX)
4837 np->txrxctl_bits |= NVREG_TXRXCTL_VLANINS; 4837 np->txrxctl_bits |= NVREG_TXRXCTL_VLANINS;
4838 else 4838 else
4839 np->txrxctl_bits &= ~NVREG_TXRXCTL_VLANINS; 4839 np->txrxctl_bits &= ~NVREG_TXRXCTL_VLANINS;
@@ -4870,7 +4870,7 @@ static int nv_set_features(struct net_device *dev, netdev_features_t features)
4870 spin_unlock_irq(&np->lock); 4870 spin_unlock_irq(&np->lock);
4871 } 4871 }
4872 4872
4873 if (changed & (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX)) 4873 if (changed & (NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX))
4874 nv_vlan_mode(dev, features); 4874 nv_vlan_mode(dev, features);
4875 4875
4876 return 0; 4876 return 0;
@@ -5705,7 +5705,8 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
5705 np->vlanctl_bits = 0; 5705 np->vlanctl_bits = 0;
5706 if (id->driver_data & DEV_HAS_VLAN) { 5706 if (id->driver_data & DEV_HAS_VLAN) {
5707 np->vlanctl_bits = NVREG_VLANCONTROL_ENABLE; 5707 np->vlanctl_bits = NVREG_VLANCONTROL_ENABLE;
5708 dev->hw_features |= NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX; 5708 dev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX |
5709 NETIF_F_HW_VLAN_CTAG_TX;
5709 } 5710 }
5710 5711
5711 dev->features |= dev->hw_features; 5712 dev->features |= dev->hw_features;
@@ -5996,7 +5997,8 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
5996 dev->features & NETIF_F_HIGHDMA ? "highdma " : "", 5997 dev->features & NETIF_F_HIGHDMA ? "highdma " : "",
5997 dev->features & (NETIF_F_IP_CSUM | NETIF_F_SG) ? 5998 dev->features & (NETIF_F_IP_CSUM | NETIF_F_SG) ?
5998 "csum " : "", 5999 "csum " : "",
5999 dev->features & (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX) ? 6000 dev->features & (NETIF_F_HW_VLAN_CTAG_RX |
6001 NETIF_F_HW_VLAN_CTAG_TX) ?
6000 "vlan " : "", 6002 "vlan " : "",
6001 dev->features & (NETIF_F_LOOPBACK) ? 6003 dev->features & (NETIF_F_LOOPBACK) ?
6002 "loopback " : "", 6004 "loopback " : "",
diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
index 7867aebc05f2..af951f343ff6 100644
--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
@@ -1345,7 +1345,7 @@ netxen_setup_netdev(struct netxen_adapter *adapter,
1345 } 1345 }
1346 1346
1347 if (adapter->capabilities & NX_FW_CAPABILITY_FVLANTX) 1347 if (adapter->capabilities & NX_FW_CAPABILITY_FVLANTX)
1348 netdev->hw_features |= NETIF_F_HW_VLAN_TX; 1348 netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX;
1349 1349
1350 if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO) 1350 if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO)
1351 netdev->hw_features |= NETIF_F_LRO; 1351 netdev->hw_features |= NETIF_F_LRO;
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 0d00b2bd2c81..845ba1d1c3c9 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -1714,7 +1714,7 @@ qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev,
1714 1714
1715 netdev->features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM | 1715 netdev->features |= (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
1716 NETIF_F_IPV6_CSUM | NETIF_F_GRO | 1716 NETIF_F_IPV6_CSUM | NETIF_F_GRO |
1717 NETIF_F_HW_VLAN_RX); 1717 NETIF_F_HW_VLAN_CTAG_RX);
1718 netdev->vlan_features |= (NETIF_F_SG | NETIF_F_IP_CSUM | 1718 netdev->vlan_features |= (NETIF_F_SG | NETIF_F_IP_CSUM |
1719 NETIF_F_IPV6_CSUM); 1719 NETIF_F_IPV6_CSUM);
1720 1720
@@ -1729,7 +1729,7 @@ qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev,
1729 } 1729 }
1730 1730
1731 if (qlcnic_vlan_tx_check(adapter)) 1731 if (qlcnic_vlan_tx_check(adapter))
1732 netdev->features |= (NETIF_F_HW_VLAN_TX); 1732 netdev->features |= (NETIF_F_HW_VLAN_CTAG_TX);
1733 1733
1734 if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_HW_LRO) 1734 if (adapter->ahw->capabilities & QLCNIC_FW_CAPABILITY_HW_LRO)
1735 netdev->features |= NETIF_F_LRO; 1735 netdev->features |= NETIF_F_LRO;
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index 1dd778a6f01e..8e3f43c75665 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -409,7 +409,7 @@ static int ql_set_mac_addr_reg(struct ql_adapter *qdev, u8 *addr, u32 type,
409 (qdev-> 409 (qdev->
410 func << CAM_OUT_FUNC_SHIFT) | 410 func << CAM_OUT_FUNC_SHIFT) |
411 (0 << CAM_OUT_CQ_ID_SHIFT)); 411 (0 << CAM_OUT_CQ_ID_SHIFT));
412 if (qdev->ndev->features & NETIF_F_HW_VLAN_RX) 412 if (qdev->ndev->features & NETIF_F_HW_VLAN_CTAG_RX)
413 cam_output |= CAM_OUT_RV; 413 cam_output |= CAM_OUT_RV;
414 /* route to NIC core */ 414 /* route to NIC core */
415 ql_write32(qdev, MAC_ADDR_DATA, cam_output); 415 ql_write32(qdev, MAC_ADDR_DATA, cam_output);
@@ -2279,7 +2279,7 @@ static void qlge_vlan_mode(struct net_device *ndev, netdev_features_t features)
2279{ 2279{
2280 struct ql_adapter *qdev = netdev_priv(ndev); 2280 struct ql_adapter *qdev = netdev_priv(ndev);
2281 2281
2282 if (features & NETIF_F_HW_VLAN_RX) { 2282 if (features & NETIF_F_HW_VLAN_CTAG_RX) {
2283 ql_write32(qdev, NIC_RCV_CFG, NIC_RCV_CFG_VLAN_MASK | 2283 ql_write32(qdev, NIC_RCV_CFG, NIC_RCV_CFG_VLAN_MASK |
2284 NIC_RCV_CFG_VLAN_MATCH_AND_NON); 2284 NIC_RCV_CFG_VLAN_MATCH_AND_NON);
2285 } else { 2285 } else {
@@ -2294,10 +2294,10 @@ static netdev_features_t qlge_fix_features(struct net_device *ndev,
2294 * Since there is no support for separate rx/tx vlan accel 2294 * Since there is no support for separate rx/tx vlan accel
2295 * enable/disable make sure tx flag is always in same state as rx. 2295 * enable/disable make sure tx flag is always in same state as rx.
2296 */ 2296 */
2297 if (features & NETIF_F_HW_VLAN_RX) 2297 if (features & NETIF_F_HW_VLAN_CTAG_RX)
2298 features |= NETIF_F_HW_VLAN_TX; 2298 features |= NETIF_F_HW_VLAN_CTAG_TX;
2299 else 2299 else
2300 features &= ~NETIF_F_HW_VLAN_TX; 2300 features &= ~NETIF_F_HW_VLAN_CTAG_TX;
2301 2301
2302 return features; 2302 return features;
2303} 2303}
@@ -2307,7 +2307,7 @@ static int qlge_set_features(struct net_device *ndev,
2307{ 2307{
2308 netdev_features_t changed = ndev->features ^ features; 2308 netdev_features_t changed = ndev->features ^ features;
2309 2309
2310 if (changed & NETIF_F_HW_VLAN_RX) 2310 if (changed & NETIF_F_HW_VLAN_CTAG_RX)
2311 qlge_vlan_mode(ndev, features); 2311 qlge_vlan_mode(ndev, features);
2312 2312
2313 return 0; 2313 return 0;
@@ -4665,9 +4665,9 @@ static int qlge_probe(struct pci_dev *pdev,
4665 SET_NETDEV_DEV(ndev, &pdev->dev); 4665 SET_NETDEV_DEV(ndev, &pdev->dev);
4666 ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | 4666 ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM |
4667 NETIF_F_TSO | NETIF_F_TSO_ECN | 4667 NETIF_F_TSO | NETIF_F_TSO_ECN |
4668 NETIF_F_HW_VLAN_TX | NETIF_F_RXCSUM; 4668 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_RXCSUM;
4669 ndev->features = ndev->hw_features | 4669 ndev->features = ndev->hw_features |
4670 NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER; 4670 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_HW_VLAN_CTAG_FILTER;
4671 ndev->vlan_features = ndev->hw_features; 4671 ndev->vlan_features = ndev->hw_features;
4672 4672
4673 if (test_bit(QL_DMA64, &qdev->flags)) 4673 if (test_bit(QL_DMA64, &qdev->flags))
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
index b62a32484f6a..6d03b52e56f1 100644
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -1438,7 +1438,7 @@ static int cp_set_features(struct net_device *dev, netdev_features_t features)
1438 else 1438 else
1439 cp->cpcmd &= ~RxChkSum; 1439 cp->cpcmd &= ~RxChkSum;
1440 1440
1441 if (features & NETIF_F_HW_VLAN_RX) 1441 if (features & NETIF_F_HW_VLAN_CTAG_RX)
1442 cp->cpcmd |= RxVlanOn; 1442 cp->cpcmd |= RxVlanOn;
1443 else 1443 else
1444 cp->cpcmd &= ~RxVlanOn; 1444 cp->cpcmd &= ~RxVlanOn;
@@ -1955,14 +1955,14 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
1955 dev->ethtool_ops = &cp_ethtool_ops; 1955 dev->ethtool_ops = &cp_ethtool_ops;
1956 dev->watchdog_timeo = TX_TIMEOUT; 1956 dev->watchdog_timeo = TX_TIMEOUT;
1957 1957
1958 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1958 dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
1959 1959
1960 if (pci_using_dac) 1960 if (pci_using_dac)
1961 dev->features |= NETIF_F_HIGHDMA; 1961 dev->features |= NETIF_F_HIGHDMA;
1962 1962
1963 /* disabled by default until verified */ 1963 /* disabled by default until verified */
1964 dev->hw_features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | 1964 dev->hw_features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
1965 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1965 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
1966 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | 1966 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
1967 NETIF_F_HIGHDMA; 1967 NETIF_F_HIGHDMA;
1968 1968
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 9a1bc1a23854..86d5d7909d10 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1793,16 +1793,17 @@ static void __rtl8169_set_features(struct net_device *dev,
1793 netdev_features_t changed = features ^ dev->features; 1793 netdev_features_t changed = features ^ dev->features;
1794 void __iomem *ioaddr = tp->mmio_addr; 1794 void __iomem *ioaddr = tp->mmio_addr;
1795 1795
1796 if (!(changed & (NETIF_F_RXALL | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX))) 1796 if (!(changed & (NETIF_F_RXALL | NETIF_F_RXCSUM |
1797 NETIF_F_HW_VLAN_CTAG_RX)))
1797 return; 1798 return;
1798 1799
1799 if (changed & (NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX)) { 1800 if (changed & (NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_RX)) {
1800 if (features & NETIF_F_RXCSUM) 1801 if (features & NETIF_F_RXCSUM)
1801 tp->cp_cmd |= RxChkSum; 1802 tp->cp_cmd |= RxChkSum;
1802 else 1803 else
1803 tp->cp_cmd &= ~RxChkSum; 1804 tp->cp_cmd &= ~RxChkSum;
1804 1805
1805 if (dev->features & NETIF_F_HW_VLAN_RX) 1806 if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
1806 tp->cp_cmd |= RxVlan; 1807 tp->cp_cmd |= RxVlan;
1807 else 1808 else
1808 tp->cp_cmd &= ~RxVlan; 1809 tp->cp_cmd &= ~RxVlan;
@@ -7036,16 +7037,17 @@ rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
7036 /* don't enable SG, IP_CSUM and TSO by default - it might not work 7037 /* don't enable SG, IP_CSUM and TSO by default - it might not work
7037 * properly for all devices */ 7038 * properly for all devices */
7038 dev->features |= NETIF_F_RXCSUM | 7039 dev->features |= NETIF_F_RXCSUM |
7039 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 7040 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
7040 7041
7041 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | 7042 dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
7042 NETIF_F_RXCSUM | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 7043 NETIF_F_RXCSUM | NETIF_F_HW_VLAN_CTAG_TX |
7044 NETIF_F_HW_VLAN_CTAG_RX;
7043 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | 7045 dev->vlan_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO |
7044 NETIF_F_HIGHDMA; 7046 NETIF_F_HIGHDMA;
7045 7047
7046 if (tp->mac_version == RTL_GIGA_MAC_VER_05) 7048 if (tp->mac_version == RTL_GIGA_MAC_VER_05)
7047 /* 8110SCd requires hardware Rx VLAN - disallow toggling */ 7049 /* 8110SCd requires hardware Rx VLAN - disallow toggling */
7048 dev->hw_features &= ~NETIF_F_HW_VLAN_RX; 7050 dev->hw_features &= ~NETIF_F_HW_VLAN_CTAG_RX;
7049 7051
7050 dev->hw_features |= NETIF_F_RXALL; 7052 dev->hw_features |= NETIF_F_RXALL;
7051 dev->hw_features |= NETIF_F_RXFCS; 7053 dev->hw_features |= NETIF_F_RXFCS;
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index a7499cbf4503..3d4a1ed0a7ab 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -2749,7 +2749,7 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
2749 goto out_release; 2749 goto out_release;
2750 } 2750 }
2751 mdp->port = devno % 2; 2751 mdp->port = devno % 2;
2752 ndev->features = NETIF_F_HW_VLAN_FILTER; 2752 ndev->features = NETIF_F_HW_VLAN_CTAG_FILTER;
2753 } 2753 }
2754 2754
2755 /* initialize first or needed device */ 2755 /* initialize first or needed device */
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 71b64857e3a6..618446ae1ec1 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2679,7 +2679,7 @@ struct stmmac_priv *stmmac_dvr_probe(struct device *device,
2679 ndev->watchdog_timeo = msecs_to_jiffies(watchdog); 2679 ndev->watchdog_timeo = msecs_to_jiffies(watchdog);
2680#ifdef STMMAC_VLAN_TAG_USED 2680#ifdef STMMAC_VLAN_TAG_USED
2681 /* Both mac100 and gmac support receive VLAN tag detection */ 2681 /* Both mac100 and gmac support receive VLAN tag detection */
2682 ndev->features |= NETIF_F_HW_VLAN_RX; 2682 ndev->features |= NETIF_F_HW_VLAN_CTAG_RX;
2683#endif 2683#endif
2684 priv->msg_enable = netif_msg_init(debug, default_msg_level); 2684 priv->msg_enable = netif_msg_init(debug, default_msg_level);
2685 2685
diff --git a/drivers/net/ethernet/tehuti/tehuti.c b/drivers/net/ethernet/tehuti/tehuti.c
index e8824cea093b..5ca4b33fc4c1 100644
--- a/drivers/net/ethernet/tehuti/tehuti.c
+++ b/drivers/net/ethernet/tehuti/tehuti.c
@@ -2017,12 +2017,12 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2017 * so we can have them same for all ports of the board */ 2017 * so we can have them same for all ports of the board */
2018 ndev->if_port = port; 2018 ndev->if_port = port;
2019 ndev->features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO 2019 ndev->features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO
2020 | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX | 2020 | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
2021 NETIF_F_HW_VLAN_FILTER | NETIF_F_RXCSUM 2021 NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXCSUM
2022 /*| NETIF_F_FRAGLIST */ 2022 /*| NETIF_F_FRAGLIST */
2023 ; 2023 ;
2024 ndev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | 2024 ndev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
2025 NETIF_F_TSO | NETIF_F_HW_VLAN_TX; 2025 NETIF_F_TSO | NETIF_F_HW_VLAN_CTAG_TX;
2026 2026
2027 if (pci_using_dac) 2027 if (pci_using_dac)
2028 ndev->features |= NETIF_F_HIGHDMA; 2028 ndev->features |= NETIF_F_HIGHDMA;
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 1d740423a053..084992981cef 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1599,7 +1599,7 @@ static int cpsw_probe_dual_emac(struct platform_device *pdev,
1599 priv_sl2->num_irqs = priv->num_irqs; 1599 priv_sl2->num_irqs = priv->num_irqs;
1600 } 1600 }
1601 1601
1602 ndev->features |= NETIF_F_HW_VLAN_FILTER; 1602 ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
1603 1603
1604 ndev->netdev_ops = &cpsw_netdev_ops; 1604 ndev->netdev_ops = &cpsw_netdev_ops;
1605 SET_ETHTOOL_OPS(ndev, &cpsw_ethtool_ops); 1605 SET_ETHTOOL_OPS(ndev, &cpsw_ethtool_ops);
@@ -1837,7 +1837,7 @@ static int cpsw_probe(struct platform_device *pdev)
1837 k++; 1837 k++;
1838 } 1838 }
1839 1839
1840 ndev->features |= NETIF_F_HW_VLAN_FILTER; 1840 ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
1841 1841
1842 ndev->netdev_ops = &cpsw_netdev_ops; 1842 ndev->netdev_ops = &cpsw_netdev_ops;
1843 SET_ETHTOOL_OPS(ndev, &cpsw_ethtool_ops); 1843 SET_ETHTOOL_OPS(ndev, &cpsw_ethtool_ops);
diff --git a/drivers/net/ethernet/toshiba/spider_net.c b/drivers/net/ethernet/toshiba/spider_net.c
index fef6b59e69c9..c655fe60121e 100644
--- a/drivers/net/ethernet/toshiba/spider_net.c
+++ b/drivers/net/ethernet/toshiba/spider_net.c
@@ -2329,8 +2329,8 @@ spider_net_setup_netdev(struct spider_net_card *card)
2329 if (SPIDER_NET_RX_CSUM_DEFAULT) 2329 if (SPIDER_NET_RX_CSUM_DEFAULT)
2330 netdev->features |= NETIF_F_RXCSUM; 2330 netdev->features |= NETIF_F_RXCSUM;
2331 netdev->features |= NETIF_F_IP_CSUM | NETIF_F_LLTX; 2331 netdev->features |= NETIF_F_IP_CSUM | NETIF_F_LLTX;
2332 /* some time: NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX | 2332 /* some time: NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
2333 * NETIF_F_HW_VLAN_FILTER */ 2333 * NETIF_F_HW_VLAN_CTAG_FILTER */
2334 2334
2335 netdev->irq = card->pdev->irq; 2335 netdev->irq = card->pdev->irq;
2336 card->num_rx_ints = 0; 2336 card->num_rx_ints = 0;
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 185c721c52d7..37b02c3768be 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -1026,8 +1026,9 @@ static int rhine_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1026 dev->features |= NETIF_F_SG|NETIF_F_HW_CSUM; 1026 dev->features |= NETIF_F_SG|NETIF_F_HW_CSUM;
1027 1027
1028 if (pdev->revision >= VT6105M) 1028 if (pdev->revision >= VT6105M)
1029 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX | 1029 dev->features |= NETIF_F_HW_VLAN_CTAG_TX |
1030 NETIF_F_HW_VLAN_FILTER; 1030 NETIF_F_HW_VLAN_CTAG_RX |
1031 NETIF_F_HW_VLAN_CTAG_FILTER;
1031 1032
1032 /* dev->name not defined before register_netdev()! */ 1033 /* dev->name not defined before register_netdev()! */
1033 rc = register_netdev(dev); 1034 rc = register_netdev(dev);
diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c
index 1bc7f9fd2583..c1c55a7da941 100644
--- a/drivers/net/ethernet/via/via-velocity.c
+++ b/drivers/net/ethernet/via/via-velocity.c
@@ -2810,9 +2810,10 @@ static int velocity_found1(struct pci_dev *pdev,
2810 dev->ethtool_ops = &velocity_ethtool_ops; 2810 dev->ethtool_ops = &velocity_ethtool_ops;
2811 netif_napi_add(dev, &vptr->napi, velocity_poll, VELOCITY_NAPI_WEIGHT); 2811 netif_napi_add(dev, &vptr->napi, velocity_poll, VELOCITY_NAPI_WEIGHT);
2812 2812
2813 dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_HW_VLAN_TX; 2813 dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
2814 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_FILTER | 2814 NETIF_F_HW_VLAN_CTAG_TX;
2815 NETIF_F_HW_VLAN_RX | NETIF_F_IP_CSUM; 2815 dev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_FILTER |
2816 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_IP_CSUM;
2816 2817
2817 ret = register_netdev(dev); 2818 ret = register_netdev(dev);
2818 if (ret < 0) 2819 if (ret < 0)
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
index 4a7c60f4c83d..57c2e5ef2804 100644
--- a/drivers/net/ethernet/xilinx/ll_temac_main.c
+++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
@@ -1018,9 +1018,9 @@ static int temac_of_probe(struct platform_device *op)
1018 ndev->features |= NETIF_F_HW_CSUM; /* Can checksum all the packets. */ 1018 ndev->features |= NETIF_F_HW_CSUM; /* Can checksum all the packets. */
1019 ndev->features |= NETIF_F_IPV6_CSUM; /* Can checksum IPV6 TCP/UDP */ 1019 ndev->features |= NETIF_F_IPV6_CSUM; /* Can checksum IPV6 TCP/UDP */
1020 ndev->features |= NETIF_F_HIGHDMA; /* Can DMA to high memory. */ 1020 ndev->features |= NETIF_F_HIGHDMA; /* Can DMA to high memory. */
1021 ndev->features |= NETIF_F_HW_VLAN_TX; /* Transmit VLAN hw accel */ 1021 ndev->features |= NETIF_F_HW_VLAN_CTAG_TX; /* Transmit VLAN hw accel */
1022 ndev->features |= NETIF_F_HW_VLAN_RX; /* Receive VLAN hw acceleration */ 1022 ndev->features |= NETIF_F_HW_VLAN_CTAG_RX; /* Receive VLAN hw acceleration */
1023 ndev->features |= NETIF_F_HW_VLAN_FILTER; /* Receive VLAN filtering */ 1023 ndev->features |= NETIF_F_HW_VLAN_CTAG_FILTER; /* Receive VLAN filtering */
1024 ndev->features |= NETIF_F_VLAN_CHALLENGED; /* cannot handle VLAN pkts */ 1024 ndev->features |= NETIF_F_VLAN_CHALLENGED; /* cannot handle VLAN pkts */
1025 ndev->features |= NETIF_F_GSO; /* Enable software GSO. */ 1025 ndev->features |= NETIF_F_GSO; /* Enable software GSO. */
1026 ndev->features |= NETIF_F_MULTI_QUEUE; /* Has multiple TX/RX queues */ 1026 ndev->features |= NETIF_F_MULTI_QUEUE; /* Has multiple TX/RX queues */
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 5f85205cd12b..4559bb8115bf 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -431,7 +431,7 @@ static int netvsc_probe(struct hv_device *dev,
431 431
432 /* TODO: Add GSO and Checksum offload */ 432 /* TODO: Add GSO and Checksum offload */
433 net->hw_features = NETIF_F_SG; 433 net->hw_features = NETIF_F_SG;
434 net->features = NETIF_F_SG | NETIF_F_HW_VLAN_TX; 434 net->features = NETIF_F_SG | NETIF_F_HW_VLAN_CTAG_TX;
435 435
436 SET_ETHTOOL_OPS(net, &ethtool_ops); 436 SET_ETHTOOL_OPS(net, &ethtool_ops);
437 SET_NETDEV_DEV(net, &dev->device); 437 SET_NETDEV_DEV(net, &dev->device);
diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c
index 82164381f778..724ce7a36c9b 100644
--- a/drivers/net/ifb.c
+++ b/drivers/net/ifb.c
@@ -166,7 +166,7 @@ static const struct net_device_ops ifb_netdev_ops = {
166 166
167#define IFB_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_FRAGLIST | \ 167#define IFB_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_FRAGLIST | \
168 NETIF_F_TSO_ECN | NETIF_F_TSO | NETIF_F_TSO6 | \ 168 NETIF_F_TSO_ECN | NETIF_F_TSO | NETIF_F_TSO6 | \
169 NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX) 169 NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_CTAG_TX)
170 170
171static void ifb_setup(struct net_device *dev) 171static void ifb_setup(struct net_device *dev)
172{ 172{
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 70af6dc07d40..fedd34cff91c 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -471,7 +471,7 @@ static struct lock_class_key macvlan_netdev_addr_lock_key;
471 (NETIF_F_SG | NETIF_F_ALL_CSUM | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \ 471 (NETIF_F_SG | NETIF_F_ALL_CSUM | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST | \
472 NETIF_F_GSO | NETIF_F_TSO | NETIF_F_UFO | NETIF_F_GSO_ROBUST | \ 472 NETIF_F_GSO | NETIF_F_TSO | NETIF_F_UFO | NETIF_F_GSO_ROBUST | \
473 NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_GRO | NETIF_F_RXCSUM | \ 473 NETIF_F_TSO_ECN | NETIF_F_TSO6 | NETIF_F_GRO | NETIF_F_RXCSUM | \
474 NETIF_F_HW_VLAN_FILTER) 474 NETIF_F_HW_VLAN_CTAG_FILTER)
475 475
476#define MACVLAN_STATE_MASK \ 476#define MACVLAN_STATE_MASK \
477 ((1<<__LINK_STATE_NOCARRIER) | (1<<__LINK_STATE_DORMANT)) 477 ((1<<__LINK_STATE_NOCARRIER) | (1<<__LINK_STATE_DORMANT))
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 9a31e8e50fac..9290eb23d664 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1841,9 +1841,9 @@ static void team_setup(struct net_device *dev)
1841 dev->features |= NETIF_F_LLTX; 1841 dev->features |= NETIF_F_LLTX;
1842 dev->features |= NETIF_F_GRO; 1842 dev->features |= NETIF_F_GRO;
1843 dev->hw_features = TEAM_VLAN_FEATURES | 1843 dev->hw_features = TEAM_VLAN_FEATURES |
1844 NETIF_F_HW_VLAN_TX | 1844 NETIF_F_HW_VLAN_CTAG_TX |
1845 NETIF_F_HW_VLAN_RX | 1845 NETIF_F_HW_VLAN_CTAG_RX |
1846 NETIF_F_HW_VLAN_FILTER; 1846 NETIF_F_HW_VLAN_CTAG_FILTER;
1847 1847
1848 dev->hw_features &= ~(NETIF_F_ALL_CSUM & ~NETIF_F_HW_CSUM); 1848 dev->hw_features &= ~(NETIF_F_ALL_CSUM & ~NETIF_F_HW_CSUM);
1849 dev->features |= dev->hw_features; 1849 dev->features |= dev->hw_features;
diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c
index 16c842997291..b7e9cd7ca6d5 100644
--- a/drivers/net/usb/cdc_mbim.c
+++ b/drivers/net/usb/cdc_mbim.c
@@ -101,7 +101,7 @@ static int cdc_mbim_bind(struct usbnet *dev, struct usb_interface *intf)
101 dev->net->flags |= IFF_NOARP; 101 dev->net->flags |= IFF_NOARP;
102 102
103 /* no need to put the VLAN tci in the packet headers */ 103 /* no need to put the VLAN tci in the packet headers */
104 dev->net->features |= NETIF_F_HW_VLAN_TX; 104 dev->net->features |= NETIF_F_HW_VLAN_CTAG_TX;
105err: 105err:
106 return ret; 106 return ret;
107} 107}
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index 07a4af0aa3dc..f116c593d879 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -255,7 +255,7 @@ static const struct net_device_ops veth_netdev_ops = {
255 255
256#define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ 256#define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \
257 NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HIGHDMA | \ 257 NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HIGHDMA | \
258 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX) 258 NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX)
259 259
260static void veth_setup(struct net_device *dev) 260static void veth_setup(struct net_device *dev)
261{ 261{
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 8fdfde6832ab..b61d57ab3c63 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1376,7 +1376,7 @@ static int virtnet_find_vqs(struct virtnet_info *vi)
1376 if (vi->has_cvq) { 1376 if (vi->has_cvq) {
1377 vi->cvq = vqs[total_vqs - 1]; 1377 vi->cvq = vqs[total_vqs - 1];
1378 if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VLAN)) 1378 if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VLAN))
1379 vi->dev->features |= NETIF_F_HW_VLAN_FILTER; 1379 vi->dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
1380 } 1380 }
1381 1381
1382 for (i = 0; i < vi->max_queue_pairs; i++) { 1382 for (i = 0; i < vi->max_queue_pairs; i++) {
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
index eae7a03d4f9b..ba9bdad39986 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b/drivers/net/vmxnet3/vmxnet3_drv.c
@@ -2107,7 +2107,7 @@ vmxnet3_setup_driver_shared(struct vmxnet3_adapter *adapter)
2107 devRead->misc.uptFeatures |= UPT1_F_LRO; 2107 devRead->misc.uptFeatures |= UPT1_F_LRO;
2108 devRead->misc.maxNumRxSG = cpu_to_le16(1 + MAX_SKB_FRAGS); 2108 devRead->misc.maxNumRxSG = cpu_to_le16(1 + MAX_SKB_FRAGS);
2109 } 2109 }
2110 if (adapter->netdev->features & NETIF_F_HW_VLAN_RX) 2110 if (adapter->netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
2111 devRead->misc.uptFeatures |= UPT1_F_RXVLAN; 2111 devRead->misc.uptFeatures |= UPT1_F_RXVLAN;
2112 2112
2113 devRead->misc.mtu = cpu_to_le32(adapter->netdev->mtu); 2113 devRead->misc.mtu = cpu_to_le32(adapter->netdev->mtu);
@@ -2669,14 +2669,15 @@ vmxnet3_declare_features(struct vmxnet3_adapter *adapter, bool dma64)
2669 struct net_device *netdev = adapter->netdev; 2669 struct net_device *netdev = adapter->netdev;
2670 2670
2671 netdev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM | 2671 netdev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM |
2672 NETIF_F_HW_CSUM | NETIF_F_HW_VLAN_TX | 2672 NETIF_F_HW_CSUM | NETIF_F_HW_VLAN_CTAG_TX |
2673 NETIF_F_HW_VLAN_RX | NETIF_F_TSO | NETIF_F_TSO6 | 2673 NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 |
2674 NETIF_F_LRO; 2674 NETIF_F_LRO;
2675 if (dma64) 2675 if (dma64)
2676 netdev->hw_features |= NETIF_F_HIGHDMA; 2676 netdev->hw_features |= NETIF_F_HIGHDMA;
2677 netdev->vlan_features = netdev->hw_features & 2677 netdev->vlan_features = netdev->hw_features &
2678 ~(NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX); 2678 ~(NETIF_F_HW_VLAN_CTAG_TX |
2679 netdev->features = netdev->hw_features | NETIF_F_HW_VLAN_FILTER; 2679 NETIF_F_HW_VLAN_CTAG_RX);
2680 netdev->features = netdev->hw_features | NETIF_F_HW_VLAN_CTAG_FILTER;
2680} 2681}
2681 2682
2682 2683
diff --git a/drivers/net/vmxnet3/vmxnet3_ethtool.c b/drivers/net/vmxnet3/vmxnet3_ethtool.c
index 63a124340cbe..600ab56c0008 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethtool.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethtool.c
@@ -263,7 +263,8 @@ int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features)
263 unsigned long flags; 263 unsigned long flags;
264 netdev_features_t changed = features ^ netdev->features; 264 netdev_features_t changed = features ^ netdev->features;
265 265
266 if (changed & (NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_HW_VLAN_RX)) { 266 if (changed & (NETIF_F_RXCSUM | NETIF_F_LRO |
267 NETIF_F_HW_VLAN_CTAG_RX)) {
267 if (features & NETIF_F_RXCSUM) 268 if (features & NETIF_F_RXCSUM)
268 adapter->shared->devRead.misc.uptFeatures |= 269 adapter->shared->devRead.misc.uptFeatures |=
269 UPT1_F_RXCSUM; 270 UPT1_F_RXCSUM;
@@ -279,7 +280,7 @@ int vmxnet3_set_features(struct net_device *netdev, netdev_features_t features)
279 adapter->shared->devRead.misc.uptFeatures &= 280 adapter->shared->devRead.misc.uptFeatures &=
280 ~UPT1_F_LRO; 281 ~UPT1_F_LRO;
281 282
282 if (features & NETIF_F_HW_VLAN_RX) 283 if (features & NETIF_F_HW_VLAN_CTAG_RX)
283 adapter->shared->devRead.misc.uptFeatures |= 284 adapter->shared->devRead.misc.uptFeatures |=
284 UPT1_F_RXVLAN; 285 UPT1_F_RXVLAN;
285 else 286 else