net: fullly using NETIF_F_ALL_TSO
Subsystems (2)
PATCH 3/3 net: fullly using NETIF_F_ALL_TSO
Fullly using NETIF_F_ALL_TSO.
And some code style tuning. Just compile test.
Signed-off-by Shan Wei <[email protected]>
--- drivers/net/bnx2x/bnx2x_main.c | 6 +++--- drivers/net/cxgb4/cxgb4_main.c | 5 ++--- drivers/net/cxgb4vf/cxgb4vf_main.c | 9 ++------- drivers/net/enic/enic_main.c | 3 +-- drivers/net/ifb.c | 3 +-- drivers/net/qlge/qlge_main.c | 3 +-- 6 files changed, 10 insertions(+), 19 deletions(-)
drivers/net/bnx2x/bnx2x_main.c +3 -3
@@ -9425,11 +9425,11 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev,bnx2x_set_ethtool_ops (dev); dev->hw_features =NETIF_F_SG |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM | -NETIF_F_TSO |NETIF_F_TSO_ECN |NETIF_F_TSO6 | -NETIF_F_RXCSUM |NETIF_F_LRO |NETIF_F_HW_VLAN_TX ; +NETIF_F_ALL_TSO |NETIF_F_RXCSUM |NETIF_F_LRO | +NETIF_F_HW_VLAN_TX ; dev->vlan_features =NETIF_F_SG |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM | -NETIF_F_TSO |NETIF_F_TSO_ECN |NETIF_F_TSO6 |NETIF_F_HIGHDMA ; +NETIF_F_ALL_TSO |NETIF_F_HIGHDMA ; dev->features |= dev->hw_features |NETIF_F_HW_VLAN_RX ;if (bp->flags &USING_DAC_FLAG )
drivers/net/cxgb4/cxgb4_main.c +2 -3
@@ -3525,8 +3525,7 @@ static void free_some_resources(struct adapter *adapter)t4_fw_bye (adapter, adapter->fn); } -#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN) -#define VLAN_FEAT (NETIF_F_SG | NETIF_F_IP_CSUM | TSO_FLAGS | \ +#define VLAN_FEAT (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_ALL_TSO | \ NETIF_F_IPV6_CSUM | NETIF_F_HIGHDMA) static int __devinit init_one(struct pci_dev *pdev,
@@ -3630,7 +3629,7 @@ static int __devinit init_one(struct pci_dev *pdev, pi->port_id = i; netdev->irq = pdev->irq; - netdev->hw_features =NETIF_F_SG |TSO_FLAGS | + netdev->hw_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_RXCSUM |NETIF_F_RXHASH |NETIF_F_HW_VLAN_TX |NETIF_F_HW_VLAN_RX ;
drivers/net/cxgb4vf/cxgb4vf_main.c +2 -7
@@ -1540,11 +1540,6 @@ static void cxgb4vf_get_wol(struct net_device *dev,memset (&wol->sopass,0 ,sizeof (wol->sopass)); } -/* -* TCP Segmentation Offload flags which we support. -*/ -#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN) -static struct ethtool_ops cxgb4vf_ethtool_ops = { .get_settings = cxgb4vf_get_settings, .get_drvinfo = cxgb4vf_get_drvinfo,
@@ -2600,10 +2595,10 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,netif_carrier_off (netdev); netdev->irq = pdev->irq; - netdev->hw_features =NETIF_F_SG |TSO_FLAGS | + netdev->hw_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; - netdev->vlan_features =NETIF_F_SG |TSO_FLAGS | + netdev->vlan_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_HIGHDMA ; netdev->features = netdev->hw_features |
drivers/net/enic/enic_main.c +1 -2
@@ -2381,8 +2381,7 @@ static int __devinit enic_probe(struct pci_dev *pdev,if (ENIC_SETTING (enic,TXCSUM )) netdev->hw_features |=NETIF_F_SG |NETIF_F_HW_CSUM ;if (ENIC_SETTING (enic,TSO )) - netdev->hw_features |=NETIF_F_TSO | -NETIF_F_TSO6 |NETIF_F_TSO_ECN ; + netdev->hw_features |=NETIF_F_ALL_TSO ;if (ENIC_SETTING (enic,RXCSUM )) netdev->hw_features |=NETIF_F_RXCSUM ;
drivers/net/ifb.c +1 -2
@@ -127,8 +127,7 @@ static const struct net_device_ops ifb_netdev_ops = { };#define IFB_FEATURES (NETIF_F_NO_CSUM | NETIF_F_SG | NETIF_F_FRAGLIST | \ - NETIF_F_TSO_ECN | NETIF_F_TSO | NETIF_F_TSO6 | \ - NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX) + NETIF_F_ALL_TSO | NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX)static void ifb_setup (struct net_device *dev) {
drivers/net/qlge/qlge_main.c +1 -2
@@ -4695,8 +4695,7 @@ static int __devinit qlge_probe(struct pci_dev *pdev, qdev =netdev_priv (ndev);SET_NETDEV_DEV (ndev, &pdev->dev); ndev->hw_features =NETIF_F_SG |NETIF_F_IP_CSUM | -NETIF_F_TSO |NETIF_F_TSO6 |NETIF_F_TSO_ECN | -NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; +NETIF_F_ALL_TSO |NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; ndev->features = ndev->hw_features |NETIF_F_HW_VLAN_RX |NETIF_F_HW_VLAN_FILTER ;
Signature · 1 line
1.6.3.3
Quoted 2 lines · Shan Wei
Fullly using
NETIF_F_ALL_TSO.
And some code style tuning. Just compile test.
[...]
This is wrong. What if some other TSO feature is defined and added to NETIF_F_ALL_TSO later? (This is unlikely, but hopefully you see that it is conceptually wrong to claim 'all' features.)
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 3 lines · Shan Wei
Fullly using
NETIF_F_ALL_TSO.
And some code style tuning. Just compile test.
This would make drivers automatically claim to support any new TSO feature the moment the feature is added. I think drivers should have to explicitly opt in if they are capable and ready.
You could use NETIF_F_ALL_TSO for vlan_features, which is a mask, but not hw_features.
Quoted 125 lines
Signed-off-by Shan Wei <[email protected]>--- drivers/net/bnx2x/bnx2x_main.c | 6 +++--- drivers/net/cxgb4/cxgb4_main.c | 5 ++--- drivers/net/cxgb4vf/cxgb4vf_main.c | 9 ++------- drivers/net/enic/enic_main.c | 3 +-- drivers/net/ifb.c | 3 +-- drivers/net/qlge/qlge_main.c | 3 +-- 6 files changed, 10 insertions(+), 19 deletions(-)drivers/net/bnx2x/bnx2x_main.c +3
-3@@ -9425,11 +9425,11 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev,bnx2x_set_ethtool_ops (dev); dev->hw_features =NETIF_F_SG |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM | -NETIF_F_TSO |NETIF_F_TSO_ECN |NETIF_F_TSO6 | -NETIF_F_RXCSUM |NETIF_F_LRO |NETIF_F_HW_VLAN_TX ; +NETIF_F_ALL_TSO |NETIF_F_RXCSUM |NETIF_F_LRO | +NETIF_F_HW_VLAN_TX ; dev->vlan_features =NETIF_F_SG |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM | -NETIF_F_TSO |NETIF_F_TSO_ECN |NETIF_F_TSO6 |NETIF_F_HIGHDMA ; +NETIF_F_ALL_TSO |NETIF_F_HIGHDMA ; dev->features |= dev->hw_features |NETIF_F_HW_VLAN_RX ;if (bp->flags &USING_DAC_FLAG )drivers/net/cxgb4/cxgb4_main.c +2
-3@@ -3525,8 +3525,7 @@ static void free_some_resources(struct adapter *adapter)t4_fw_bye (adapter, adapter->fn); } -#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN) -#define VLAN_FEAT (NETIF_F_SG | NETIF_F_IP_CSUM | TSO_FLAGS | \ +#define VLAN_FEAT (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_ALL_TSO | \ NETIF_F_IPV6_CSUM | NETIF_F_HIGHDMA) static int __devinit init_one(struct pci_dev *pdev,@@ -3630,7 +3629,7 @@ static int __devinit init_one(struct pci_dev *pdev, pi->port_id = i; netdev->irq = pdev->irq; - netdev->hw_features =NETIF_F_SG |TSO_FLAGS | + netdev->hw_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_RXCSUM |NETIF_F_RXHASH |NETIF_F_HW_VLAN_TX |NETIF_F_HW_VLAN_RX ;drivers/net/cxgb4vf/cxgb4vf_main.c +2
-7@@ -1540,11 +1540,6 @@ static void cxgb4vf_get_wol(struct net_device *dev,memset (&wol->sopass,0 ,sizeof (wol->sopass)); } -/* -* TCP Segmentation Offload flags which we support. -*/ -#define TSO_FLAGS (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN) -static struct ethtool_ops cxgb4vf_ethtool_ops = { .get_settings = cxgb4vf_get_settings, .get_drvinfo = cxgb4vf_get_drvinfo,@@ -2600,10 +2595,10 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,netif_carrier_off (netdev); netdev->irq = pdev->irq; - netdev->hw_features =NETIF_F_SG |TSO_FLAGS | + netdev->hw_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; - netdev->vlan_features =NETIF_F_SG |TSO_FLAGS | + netdev->vlan_features =NETIF_F_SG |NETIF_F_ALL_TSO |NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM |NETIF_F_HIGHDMA ; netdev->features = netdev->hw_features |drivers/net/enic/enic_main.c +1
-2@@ -2381,8 +2381,7 @@ static int __devinit enic_probe(struct pci_dev *pdev,if (ENIC_SETTING (enic,TXCSUM )) netdev->hw_features |=NETIF_F_SG |NETIF_F_HW_CSUM ;if (ENIC_SETTING (enic,TSO )) - netdev->hw_features |=NETIF_F_TSO | -NETIF_F_TSO6 |NETIF_F_TSO_ECN ; + netdev->hw_features |=NETIF_F_ALL_TSO ;if (ENIC_SETTING (enic,RXCSUM )) netdev->hw_features |=NETIF_F_RXCSUM ;drivers/net/ifb.c +1
-2@@ -127,8 +127,7 @@ static const struct net_device_ops ifb_netdev_ops = { };#define IFB_FEATURES (NETIF_F_NO_CSUM | NETIF_F_SG | NETIF_F_FRAGLIST | \ - NETIF_F_TSO_ECN | NETIF_F_TSO | NETIF_F_TSO6 | \ - NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX) + NETIF_F_ALL_TSO | NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_TX)static void ifb_setup (struct net_device *dev) {drivers/net/qlge/qlge_main.c +1
-2@@ -4695,8 +4695,7 @@ static int __devinit qlge_probe(struct pci_dev *pdev, qdev =netdev_priv (ndev);SET_NETDEV_DEV (ndev, &pdev->dev); ndev->hw_features =NETIF_F_SG |NETIF_F_IP_CSUM | -NETIF_F_TSO |NETIF_F_TSO6 |NETIF_F_TSO_ECN | -NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; +NETIF_F_ALL_TSO |NETIF_F_HW_VLAN_TX |NETIF_F_RXCSUM ; ndev->features = ndev->hw_features |NETIF_F_HW_VLAN_RX |NETIF_F_HW_VLAN_FILTER ;