[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