Skip to contentSkip to conversation

net: use NETIF_F_ALL_TSO for vlan features

PATCH In review Shan Wei 3 participants 3 messages Apr 29, 2011 – May 5, 2011

Subsystems (2)
lore
Share & tools
lore

Shan Wei

author
#0 lore raw

PATCH 1/2 net: use NETIF_F_ALL_TSO for vlan features

As Dimitris Michailidis suggested, use NETIF_F_ALL_TSO for vlan_features, which is a mask, but not hw_features.

Compile test.

---
 drivers/net/bnx2x/bnx2x_main.c     |    2 +-
 drivers/net/cxgb4/cxgb4_main.c     |    2 +-
 drivers/net/cxgb4vf/cxgb4vf_main.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/bnx2x/bnx2x_main.c +1 -1
index bfd7ac9..67b1011 100644
@@ -9429,7 +9429,7 @@ static int __devinit bnx2x_init_dev(struct pci_dev *pdev,
 		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 +1 -1
index bdc868c..d6b1a91 100644
@@ -3526,7 +3526,7 @@ static void free_some_resources(struct adapter *adapter)
 }
 
 #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,
drivers/net/cxgb4vf/cxgb4vf_main.c +1 -1
index 8cf9890..b735c52 100644
@@ -2603,7 +2603,7 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev,
 		netdev->hw_features = NETIF_F_SG | TSO_FLAGS |
 			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 |
Signature · 1 line
1.7.3.1
maintainer
#1 lore raw

From: Shan Wei <[email protected]>
Date: Fri, 29 Apr 2011 13:20:52 +0800

Quoted 8 lines

As Dimitris Michailidis suggested, use NETIF_F_ALL_TSO for vlan_features, which is a mask, but not hw_features.

Compile test.

I do not understand why we want to advertise a set of ->vlan_features TSO flags that are different from the flags advertised in ->hw_features.

Why do we want to do this?

#2 lore raw

2011/5/5 David Miller <[email protected]>:

Quoted 8 lines

From: Shan Wei <[email protected]>
Date: Fri, 29 Apr 2011 13:20:52 +0800

Quoted 2 lines

As Dimitris Michailidis suggested, use NETIF_F_ALL_TSO for vlan_features, which is a mask, but not hw_features.

I do not understand why we want to advertise a set of ->vlan_features TSO flags that are different from the flags advertised in ->hw_features.

Why do we want to do this?

I remember some posts about hardware that needs HW tag insertion for TSO on VLAN to work or other additional constraints for offloads on VLANs. I wonder if vlan_features handling should be converted to something like ndo_fix_features.

Best Regards,
Michał Mirosław