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))