Message ID | 20230905185020.3613223-2-ahmed.zaki@intel.com |
---|---|
State | Superseded |
Headers | show |
Series | Support rx-fcs on/off for VFs | expand |
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@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@intel.com> > Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com> > Signed-off-by: Ahmed Zaki <ahmed.zaki@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@molgen.mpg.de> Kind regards, Paul
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;