Message ID | 4DBA4AB4.5000802@cn.fujitsu.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Shan Wei <shanwei@cn.fujitsu.com> Date: Fri, 29 Apr 2011 13:20:52 +0800 > > As Dimitris Michailidis suggested, use NETIF_F_ALL_TSO for vlan_features, > which is a mask, but not hw_features. > > Compile test. > > > Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> 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? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2011/5/5 David Miller <davem@davemloft.net>: > From: Shan Wei <shanwei@cn.fujitsu.com> > Date: Fri, 29 Apr 2011 13:20:52 +0800 >> 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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index bfd7ac9..67b1011 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c @@ -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) diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c index bdc868c..d6b1a91 100644 --- a/drivers/net/cxgb4/cxgb4_main.c +++ b/drivers/net/cxgb4/cxgb4_main.c @@ -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, diff --git a/drivers/net/cxgb4vf/cxgb4vf_main.c b/drivers/net/cxgb4vf/cxgb4vf_main.c index 8cf9890..b735c52 100644 --- a/drivers/net/cxgb4vf/cxgb4vf_main.c +++ b/drivers/net/cxgb4vf/cxgb4vf_main.c @@ -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 |
As Dimitris Michailidis suggested, use NETIF_F_ALL_TSO for vlan_features, which is a mask, but not hw_features. Compile test. Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> --- 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(-)