[dpdk-dev] Bug in i40e PMD for flexible payload

Wu, Jingjing jingjing.wu at intel.com
Thu Apr 14 05:31:24 CEST 2016


Thanks, Michael.

Ack to your change. Could you send patch for that?

Thanks
Jingjing

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Michael Habibi
> Sent: Thursday, March 24, 2016 2:45 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Bug in i40e PMD for flexible payload
> 
> We are using the i40 implementation to configure flow director with flexible
> payload rules. When setting up rules, it allows you to set a value to 63 to
> disable the rule (NONUSE_FLX_PIT_DEST_OFF). However, the macro in
> question is always adding an offset value 50
> (I40E_FLX_OFFSET_IN_FIELD_VECTOR). This doesn't work when you use it in
> conjunction with NONUSE_FLX_PIT_DEST_OFF to disable it, because instead
> of taking 63 as is, it does 63 + 50 and breaks the functionality.
> 
> We used the following fix and it appears to work. Just sharing with the DPDK
> team in case they want to bring it in.
> 
> Index: i40e_fdir.c
> 
> ==========================================================
> =========
> 
> --- i40e_fdir.c (revision 30006)
> 
> +++ i40e_fdir.c (working copy)
> 
> @@ -90,7 +90,8 @@
> 
>           I40E_PRTQF_FLX_PIT_SOURCE_OFF_MASK) | \
> 
>     (((fsize) << I40E_PRTQF_FLX_PIT_FSIZE_SHIFT) & \
> 
>                I40E_PRTQF_FLX_PIT_FSIZE_MASK) | \
> 
> -    ((((dst_offset) + I40E_FLX_OFFSET_IN_FIELD_VECTOR) << \
> 
> +    ((((dst_offset) + ((dst_offset < NONUSE_FLX_PIT_DEST_OFF) ? \
> 
> +               I40E_FLX_OFFSET_IN_FIELD_VECTOR : 0)) << \
> 
>                I40E_PRTQF_FLX_PIT_DEST_OFF_SHIFT) & \
> 
>                I40E_PRTQF_FLX_PIT_DEST_OFF_MASK))


More information about the dev mailing list