Hi Ophir,

Monday, April 30, 2018 3:25 PM, Ophir Munk:
> sta...@dpdk.org
> Subject: [dpdk-stable] [PATCH v1] net/mlx4: fix CRC stripping capability
> report
> 
> There are two capabilities related to CRC stripping:
> 1. mlx4 HW capability to perform CRC stripping on a recieved packet.
> This capability is built in mlx4 HW. It should be returned by the API call
> mlx4_get_rx_queue_offloads().
> 2. mlx4 driver capability to enable/disable HW CRC stripping. This capability 
> is
> dependent on the driver version.
> Before this commit the seccond capability was falsely returned by the
> mentioned API. This commit fixes it by returning the first capability.
> 

In this fix I also expect documentation update to say it is not possible to 
toggle CRC with OFED/rdma-core version less than XXX.

Because before this patch:
"if CRC offload is set application can set/disable the CRC strip. Otherwise it 
is always to strip"

With this patch:
"if ofed/rdma-core version is > XXX application can disable CRC strip. 
Otherwise it is always to strip"



> Fixes: de1df14e6e6ec ("net/mlx4: support CRC strip toggling")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Ophir Munk <ophi...@mellanox.com>
> ---
>  drivers/net/mlx4/mlx4_rxq.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
> index b430678..88e5912 100644
> --- a/drivers/net/mlx4/mlx4_rxq.c
> +++ b/drivers/net/mlx4/mlx4_rxq.c
> @@ -658,10 +658,9 @@ mlx4_rxq_detach(struct rxq *rxq)  uint64_t
> mlx4_get_rx_queue_offloads(struct priv *priv)  {
> -     uint64_t offloads = DEV_RX_OFFLOAD_SCATTER;
> +     uint64_t offloads = DEV_RX_OFFLOAD_SCATTER |
> +                         DEV_RX_OFFLOAD_CRC_STRIP;
> 
> -     if (priv->hw_fcs_strip)
> -             offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
>       if (priv->hw_csum)
>               offloads |= DEV_RX_OFFLOAD_CHECKSUM;
>       return offloads;
> --
> 2.7.4

Reply via email to