[Intel-wired-lan] [next PATCH v3 15/15] i40evf: Update feature flags to reflect newly enabled features

Singhai, Anjali anjali.singhai at intel.com
Mon Jan 25 19:43:19 UTC 2016


Acked-by: Anjali Singhai Jain <anjali.singhai at intel.com>

On 1/24/2016 9:17 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.
>
> I also found one spot where we were setting the same flag twice.  It looks
> like it was probably a git merge error that resulted in the line being
> duplicated.  As such I have dropped it in this patch.
>
> Signed-off-by: Alexander Duyck <aduyck at mirantis.com>
> ---
>   drivers/net/ethernet/intel/i40evf/i40evf_main.c |   23 +++++++++++++++++++----
>   1 file changed, 19 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
> index 41369a30dfb8..3396fe32cc6d 100644
> --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
> +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
> @@ -2337,9 +2337,24 @@ int i40evf_process_config(struct i40evf_adapter *adapter)
>   			    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_RXCSUM |
>   			    NETIF_F_GRO;
>   
> +	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;
> +
> +	if (adapter->flags & I40EVF_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;
>   	netdev->hw_features &= ~NETIF_F_RXCSUM;
> @@ -2478,6 +2493,10 @@ static void i40evf_init_task(struct work_struct *work)
>   	default:
>   		goto err_alloc;
>   	}
> +
> +	if (hw->mac.type == I40E_MAC_X722_VF)
> +		adapter->flags |= I40EVF_FLAG_OUTER_UDP_CSUM_CAPABLE;
> +
>   	if (i40evf_process_config(adapter))
>   		goto err_alloc;
>   	adapter->current_op = I40E_VIRTCHNL_OP_UNKNOWN;
> @@ -2519,10 +2538,6 @@ static void i40evf_init_task(struct work_struct *work)
>   		goto err_sw_init;
>   	i40evf_map_rings_to_vectors(adapter);
>   	if (adapter->vf_res->vf_offload_flags &
> -		    I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR)
> -		adapter->flags |= I40EVF_FLAG_WB_ON_ITR_CAPABLE;
> -
> -	if (adapter->vf_res->vf_offload_flags &
>   	    I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR)
>   		adapter->flags |= I40EVF_FLAG_WB_ON_ITR_CAPABLE;
>   
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan



More information about the Intel-wired-lan mailing list