Message ID | 20160122002823.18278.12177.stgit@localhost.localdomain |
---|---|
State | Superseded |
Headers | show |
On 1/21/2016 4:28 PM, Alexander Duyck wrote: > Recent changes should have enabled support for IPv6 based tunnels and > support for TSO with outer UDP checksums. As such we can update the > feature flags to reflect that. > > In addition we can clean-up the flags that aren't needed such as SCTP and > RXCSUM since having the bits there doesn't add any value. > > Signed-off-by: Alexander Duyck <aduyck@mirantis.com> > --- > drivers/net/ethernet/intel/i40e/i40e_main.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c > index e3a903f01d73..1d969acf9517 100644 > --- a/drivers/net/ethernet/intel/i40e/i40e_main.c > +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c > @@ -9023,12 +9023,14 @@ static int i40e_config_netdev(struct i40e_vsi *vsi) > np = netdev_priv(netdev); > np->vsi = vsi; > > - netdev->hw_enc_features |= NETIF_F_IP_CSUM | > - NETIF_F_RXCSUM | > - NETIF_F_SCTP_CRC | > - NETIF_F_GSO_UDP_TUNNEL | > - NETIF_F_GSO_GRE | > - NETIF_F_TSO | > + netdev->hw_enc_features |= NETIF_F_IP_CSUM | > + NETIF_F_IPV6_CSUM | > + NETIF_F_TSO | > + NETIF_F_TSO6 | > + NETIF_F_TSO_ECN | > + NETIF_F_GSO_GRE | > + NETIF_F_GSO_UDP_TUNNEL | > + NETIF_F_GSO_UDP_TUNNEL_CSUM | > 0; TUNNEL_CSUM in this case requires the PF_FLAG check for OUTER_UDP_CSUM as well > netdev->features = NETIF_F_SG | > @@ -9050,6 +9052,8 @@ static int i40e_config_netdev(struct i40e_vsi *vsi) > > if (!(pf->flags & I40E_FLAG_MFP_ENABLED)) > netdev->features |= NETIF_F_NTUPLE; > + if (pf->flags & I40E_FLAG_OUTER_UDP_CSUM_CAPABLE) > + netdev->features |= NETIF_F_GSO_UDP_TUNNEL_CSUM; > > /* copy netdev features into list of user selectable features */ > netdev->hw_features |= netdev->features; > > _______________________________________________ > Intel-wired-lan mailing list > Intel-wired-lan@lists.osuosl.org > http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
On Fri, Jan 22, 2016 at 1:15 PM, Singhai, Anjali <anjali.singhai@intel.com> wrote: > > > On 1/21/2016 4:28 PM, Alexander Duyck wrote: >> >> Recent changes should have enabled support for IPv6 based tunnels and >> support for TSO with outer UDP checksums. As such we can update the >> feature flags to reflect that. >> >> In addition we can clean-up the flags that aren't needed such as SCTP and >> RXCSUM since having the bits there doesn't add any value. >> >> Signed-off-by: Alexander Duyck <aduyck@mirantis.com> >> --- >> drivers/net/ethernet/intel/i40e/i40e_main.c | 16 ++++++++++------ >> 1 file changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c >> b/drivers/net/ethernet/intel/i40e/i40e_main.c >> index e3a903f01d73..1d969acf9517 100644 >> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c >> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c >> @@ -9023,12 +9023,14 @@ static int i40e_config_netdev(struct i40e_vsi >> *vsi) >> np = netdev_priv(netdev); >> np->vsi = vsi; >> - netdev->hw_enc_features |= NETIF_F_IP_CSUM | >> - NETIF_F_RXCSUM | >> - NETIF_F_SCTP_CRC | >> - NETIF_F_GSO_UDP_TUNNEL | >> - NETIF_F_GSO_GRE | >> - NETIF_F_TSO | >> + netdev->hw_enc_features |= NETIF_F_IP_CSUM | >> + NETIF_F_IPV6_CSUM | >> + NETIF_F_TSO | >> + NETIF_F_TSO6 | >> + NETIF_F_TSO_ECN | >> + NETIF_F_GSO_GRE | >> + NETIF_F_GSO_UDP_TUNNEL | >> + NETIF_F_GSO_UDP_TUNNEL_CSUM | >> 0; > > > TUNNEL_CSUM in this case requires the PF_FLAG check for OUTER_UDP_CSUM as > well Actually it doesn't. The hw_enc_features is just a mask. So if the device cannot enable TUNNEL_CSUM via the check below, then the feature will never be exposed to the tunnel anyway. For hw_features it matters, but for hw_enc_features it doesn't. >> netdev->features = NETIF_F_SG | >> @@ -9050,6 +9052,8 @@ static int i40e_config_netdev(struct i40e_vsi *vsi) >> if (!(pf->flags & I40E_FLAG_MFP_ENABLED)) >> netdev->features |= NETIF_F_NTUPLE; >> + if (pf->flags & I40E_FLAG_OUTER_UDP_CSUM_CAPABLE) >> + netdev->features |= NETIF_F_GSO_UDP_TUNNEL_CSUM; >> /* copy netdev features into list of user selectable features */ >> netdev->hw_features |= netdev->features; >> >> _______________________________________________ >> Intel-wired-lan mailing list >> Intel-wired-lan@lists.osuosl.org >> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan > > > _______________________________________________ > Intel-wired-lan mailing list > Intel-wired-lan@lists.osuosl.org > http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index e3a903f01d73..1d969acf9517 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -9023,12 +9023,14 @@ static int i40e_config_netdev(struct i40e_vsi *vsi) np = netdev_priv(netdev); np->vsi = vsi; - netdev->hw_enc_features |= NETIF_F_IP_CSUM | - NETIF_F_RXCSUM | - NETIF_F_SCTP_CRC | - NETIF_F_GSO_UDP_TUNNEL | - NETIF_F_GSO_GRE | - NETIF_F_TSO | + netdev->hw_enc_features |= NETIF_F_IP_CSUM | + NETIF_F_IPV6_CSUM | + NETIF_F_TSO | + NETIF_F_TSO6 | + NETIF_F_TSO_ECN | + NETIF_F_GSO_GRE | + NETIF_F_GSO_UDP_TUNNEL | + NETIF_F_GSO_UDP_TUNNEL_CSUM | 0; netdev->features = NETIF_F_SG | @@ -9050,6 +9052,8 @@ static int i40e_config_netdev(struct i40e_vsi *vsi) if (!(pf->flags & I40E_FLAG_MFP_ENABLED)) netdev->features |= NETIF_F_NTUPLE; + if (pf->flags & I40E_FLAG_OUTER_UDP_CSUM_CAPABLE) + netdev->features |= NETIF_F_GSO_UDP_TUNNEL_CSUM; /* copy netdev features into list of user selectable features */ netdev->hw_features |= netdev->features;
Recent changes should have enabled support for IPv6 based tunnels and support for TSO with outer UDP checksums. As such we can update the feature flags to reflect that. In addition we can clean-up the flags that aren't needed such as SCTP and RXCSUM since having the bits there doesn't add any value. Signed-off-by: Alexander Duyck <aduyck@mirantis.com> --- drivers/net/ethernet/intel/i40e/i40e_main.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)