[Intel-wired-lan] ixgbe, TSO, and NETIF_F_TSO_MANGLEID
Shannon Nelson
shannon.nelson at oracle.com
Thu Mar 1 23:05:44 UTC 2018
Hi folks,
In trying to get TSO working for ipsec offload, I've found that
NETIF_F_TSO_MANGLEID is not set, so the NETIF_F_TSO bit is getting
stripped in ixgbe_features_check().
Back in commit
commit b83e30104bd9 ("ixgbe/ixgbevf: Add support for GSO partial")
NETIF_F_TSO_MANGLEID was added to netdev->vlan_features in
ixgbe_probe(), but it is never added to netdev->features. The patch
also added a check for NETIF_F_TSO_MANGLEID in ixgbe_features_check(),
but the test is looking in the "features" passed into the function. As
far as I can tell, the calls into .ndo_features_check() are using
dev->features, not dev->vlan_features.
Should NETIF_F_TSO_MANGLEID be added to netdev->features as well?
Something like:
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 82c0543..dcb408b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -10441,7 +10441,9 @@ static int ixgbe_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
if (pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA;
- netdev->vlan_features |= netdev->features | NETIF_F_TSO_MANGLEID;
+ netdev->features |= NETIF_F_TSO_MANGLEID;
+ netdev->vlan_features |= NETIF_F_TSO_MANGLEID;
+
netdev->hw_enc_features |= netdev->vlan_features;
netdev->mpls_features |= NETIF_F_SG |
NETIF_F_TSO |
Cheers,
sln
--
==================================================
Shannon Nelson shannon.nelson at oracle.com
Parents can't afford to be squeamish
More information about the Intel-wired-lan
mailing list