[dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets

Ferruh Yigit ferruh.yigit at intel.com
Fri Aug 13 15:59:43 CEST 2021


On 8/2/2021 8:57 AM, Wenjun Wu wrote:
> Add support of FDIR L3 fields for both IPv4 and IPv6 fragment packets.
> 

Description mentions from both IPv4 & IPv6 but only IPv6 macro is updated, is
this expected?

Is following correct:
Before this patch flow director rules were not applied to fragmented IPv4 & IPv6
packets (so packets were not able to sent to specific queues), but after this
patch it does.
Is it the case that HW configuration was missing and hash is not calculated for
these kind of packets etc.. If you have more details can you please provide?
Also what was happening to these packets previously, sent to queue 0 by default?

Overall can please provide more description and check below question related to
'field_selector'?

Thanks,
ferruh

> Signed-off-by: Wenjun Wu <wenjun1.wu at intel.com>
> ---
>  drivers/net/iavf/iavf_fdir.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
> index da3eec8b59..32b06044f2 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -57,7 +57,7 @@
>  	IAVF_INSET_IPV6_HOP_LIMIT)
>  
>  #define IAVF_FDIR_INSET_ETH_IPV6_FRAG_EXT (\
> -	IAVF_INSET_IPV6_ID)
> +	IAVF_FDIR_INSET_ETH_IPV6 | IAVF_INSET_IPV6_ID)
>  
>  #define IAVF_FDIR_INSET_ETH_IPV6_UDP (\
>  	IAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \
> @@ -664,6 +664,7 @@ iavf_fdir_add_fragment_hdr(struct virtchnl_proto_hdrs *hdrs, int layer)
>  	/* adding dummy fragment header */
>  	hdr1 = &hdrs->proto_hdr[layer];
>  	VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, IPV4_FRAG);
> +	hdr1->field_selector = 0;

Is this change related to new support, or fixing something that was missing
previously?

>  	hdrs->count = ++layer;
>  }
>  
> 



More information about the dev mailing list