[Intel-wired-lan] [PATCH iwl-next v6 1/4] virtchnl: Add CRC stripping capability

Paul Menzel pmenzel at molgen.mpg.de
Wed Sep 6 04:01:13 UTC 2023


Dear Ahmed, dear Paul,


Thank you for the patch.

Am 05.09.23 um 20:50 schrieb Ahmed Zaki:
> From: Paul M Stillwell Jr <paul.m.stillwell.jr at intel.com>
> 
> Some VFs may want to disable CRC stripping on incoming packets so create
> an offload for that. The VF already sends information about configuring
> it's RX queues so use that structure to indicate that the CRC stripping

s/it’s/its/

> should be enabled or not.
> 
> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr at intel.com>
> Reviewed-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
> Signed-off-by: Ahmed Zaki <ahmed.zaki at intel.com>
> ---
>   include/linux/avf/virtchnl.h | 11 +++++++++--
>   1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/avf/virtchnl.h b/include/linux/avf/virtchnl.h
> index d0807ad43f93..dd71d3009771 100644
> --- a/include/linux/avf/virtchnl.h
> +++ b/include/linux/avf/virtchnl.h
> @@ -240,6 +240,7 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
>   #define VIRTCHNL_VF_OFFLOAD_REQ_QUEUES		BIT(6)
>   /* used to negotiate communicating link speeds in Mbps */
>   #define VIRTCHNL_VF_CAP_ADV_LINK_SPEED		BIT(7)
> +#define  VIRTCHNL_VF_OFFLOAD_CRC		BIT(10)
>   #define VIRTCHNL_VF_OFFLOAD_VLAN_V2		BIT(15)
>   #define VIRTCHNL_VF_OFFLOAD_VLAN		BIT(16)
>   #define VIRTCHNL_VF_OFFLOAD_RX_POLLING		BIT(17)
> @@ -295,7 +296,13 @@ VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_txq_info);
>   /* VIRTCHNL_OP_CONFIG_RX_QUEUE
>    * VF sends this message to set up parameters for one RX queue.
>    * External data buffer contains one instance of virtchnl_rxq_info.
> - * PF configures requested queue and returns a status code.
> + * PF configures requested queue and returns a status code. The
> + * crc_disable flag disables CRC stripping on the VF. Setting
> + * the crc_disable flag to 1 will disable CRC stripping for each
> + * queue in the VF where the flag is set. The VIRTCHNL_VF_OFFLOAD_CRC
> + * offload must have been set prior to sending this info or the PF
> + * will ignore the request. This flag should be set the same for
> + * all of the queues for a VF.
>    */
>   
>   /* Rx queue config info */
> @@ -307,7 +314,7 @@ struct virtchnl_rxq_info {
>   	u16 splithdr_enabled; /* deprecated with AVF 1.0 */
>   	u32 databuffer_size;
>   	u32 max_pkt_size;
> -	u8 pad0;
> +	u8 crc_disable;
>   	u8 rxdid;
>   	u8 pad1[2];
>   	u64 dma_ring_addr;

Reviewed-by: Paul Menzel <pmenzel at molgen.mpg.de>


Kind regards,

Paul


More information about the Intel-wired-lan mailing list