i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features
Subsystems (2)
PATCH 1/2 i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features
Since commit bacd75cfac8a ("i40e/i40evf: Add capability exchange for outer checksum", 2017-04-06) the i40e driver has not reported support for IP-in-IP offloads. This likely occurred due to a bad rebase, as the commit extracts hw_enc_features into its own variable. As part of this change, it dropped the NETIF_F_FSO_IPXIP flags from the netdev->hw_enc_features. This was unfortunately not caught during code review.
Fix this by adding back the missing feature flags.
For reference, NETIF_F_GSO_IPXIP4 was added in commit 7e13318daa4a ("net: define gso types for IPx over IPv4 and IPv6", 2016-05-20), replacing NETIF_F_GSO_IPIP and NETIF_F_GSO_SIT.
NETIF_F_GSO_IPXIP6 was added in commit bf2d1df39502 ("intel: Add support for IPv6 IP-in-IP offload", 2016-05-20).
--- drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/ethernet/intel/i40e/i40e_main.c +2 -0
@@ -12249,6 +12249,8 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)NETIF_F_GSO_GRE |NETIF_F_GSO_GRE_CSUM |NETIF_F_GSO_PARTIAL | +NETIF_F_GSO_IPXIP4 | +NETIF_F_GSO_IPXIP6 |NETIF_F_GSO_UDP_TUNNEL |NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_SCTP_CRC |
Signature · 1 line
2.18.0.219.gaf81d287a9da
PATCH 2/2 i40e: enable NETIF_F_NTUPLE and NETIF_F_HW_TC at driver load
The assignment of the feature flag NETIF_F_NTUPLE and NETIF_F_HW_TC occurs prior to the initial setup of the local hw_features variable.
This means the features are set as user-changeable, but are not set in the currently active feature list. This results in the features being disabled at the driver's initial load.
Move the assignment after the initial assignment of hw_features, and assign to the local variable. This ensures that NETIF_F_NTUPLE and NETIF_F_HW_TC are marked as user-changeable, and also enables them by default when the driver loads.
--- drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/net/ethernet/intel/i40e/i40e_main.c +3 -3
@@ -12268,13 +12268,13 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)/* record features VLANs can make use of */ netdev->vlan_features |= hw_enc_features |NETIF_F_TSO_MANGLEID ; -if (!(pf->flags &I40E_FLAG_MFP_ENABLED )) - netdev->hw_features |=NETIF_F_NTUPLE |NETIF_F_HW_TC ; - hw_features = hw_enc_features |NETIF_F_HW_VLAN_CTAG_TX |NETIF_F_HW_VLAN_CTAG_RX ; +if (!(pf->flags &I40E_FLAG_MFP_ENABLED )) + hw_features |=NETIF_F_NTUPLE |NETIF_F_HW_TC ; + netdev->hw_features |= hw_features; netdev->features |= hw_features |NETIF_F_HW_VLAN_CTAG_FILTER ;
Signature · 1 line
2.18.0.219.gaf81d287a9da
Bowers
PATCH 2/2 i40e: enable NETIF_F_NTUPLE and NETIF_F_HW_TC at driver load
Quoted 20 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On Behalf Of Jacob Keller
Sent: Monday, October 29, 2018 10:53 AM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [net 2/2] i40e: enableNETIF_F_NTUPLEandNETIF_F_HW_TCat driver loadThe assignment of the feature flag
NETIF_F_NTUPLEandNETIF_F_HW_TCoccurs prior to the initial setup of the localhw_featuresvariable.This means the features are set as user-changeable, but are not set in the currently active feature list. This results in the features being disabled at the driver's initial load.
Move the assignment after the initial assignment of
hw_features, and assign to the local variable. This ensures thatNETIF_F_NTUPLEandNETIF_F_HW_TCare marked as user-changeable, and also enables them by default when the driver loads.
Quoted 4 lines
Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Bowers
PATCH 1/2 i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features
In reply to Jacob KellerQuoted 22 lines
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On Behalf Of Jacob Keller
Sent: Monday, October 29, 2018 10:53 AM
To: Intel Wired LAN <[email protected]>
Subject: [Intel-wired-lan] [net 1/2] i40e: restore NETIF_F_GSO_IPXIP[46] to netdev featuresSince commit
bacd75cfac8a("i40e/i40evf: Add capability exchange for outer checksum", 2017-04-06) the i40e driver has not reported support for IP-in-IP offloads. This likely occurred due to a bad rebase, as the commit extractshw_enc_featuresinto its own variable. As part of this change, it dropped theNETIF_F_FSO_IPXIPflags from thenetdev->hw_enc_features. This was unfortunately not caught during code review.Fix this by adding back the missing feature flags.
For reference,
NETIF_F_GSO_IPXIP4was added in commit7e13318daa4a("net: define gso types for IPx over IPv4 and IPv6", 2016-05-20), replacingNETIF_F_GSO_IPIPandNETIF_F_GSO_SIT.
Quoted 7 lines
NETIF_F_GSO_IPXIP6was added in commitbf2d1df39502("intel: Add support for IPv6 IP-in-IP offload", 2016-05-20).Signed-off-by Jacob Keller <[email protected]>--- drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ 1 file changed, 2 insertions(+)