[dpdk-dev] incorrect vlan_tci in rte mbuf
Jeff Guo
jia.guo at intel.com
Tue May 19 09:00:18 CEST 2020
hi, xiaoping
On 5/18/2020 4:31 PM, Yan, Xiaoping (NSB - CN/Hangzhou) wrote:
> Hi Beilei & Jia,
>
> I got your name from the MAINTAINERS for Intel i40e.
> Could you help to have a look at the issue, described in my previous mail?
>
> Thank you.
>
> Best regards
> Yan Xiaoping
>
> -----Original Message-----
> From: Olivier Matz <olivier.matz at 6wind.com>
> Sent: 2020年5月18日 15:24
> To: Yan, Xiaoping (NSB - CN/Hangzhou) <xiaoping.yan at nokia-sbell.com>
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] incorrect vlan_tci in rte mbuf
>
> Hi,
>
> On Fri, May 15, 2020 at 11:12:27AM +0000, Yan, Xiaoping (NSB - CN/Hangzhou) wrote:
>> Hi,
>>
>> I'm using i40e vf, dpdk 18.11, x86_64 CPU (rx function in use is
>> i40e_recv_scattered_pkts_vec_avx2)
>> When enable hw vlan strip:
>>
>> * If packet fit in one mbuf segment, the vlan_tci field is correct
>> * If packets are stored in several mbuf segment, the vlan_tci of last segment is correct, vlan_tci of other segments are invalid
>>
>> It seems i40e_recv_scattered_pkts has correctly set the vlan_tci, by
>> calling i40e_rxd_to_vlan_tci(first_seg, &rxd);
>>
>> Is this a bug in i40e_recv_scattered_pkts_vec_avx2?
>> (I didn't find setting vlan_tci for first segment, but it's a bit
>> difficult for me to understand codes in
>> i40e_recv_scattered_pkts_vec_avx2, so I'm not quite sure) I checked
>> the latest dpdk version 20.02
>> http://lxr.dpdk.org/dpdk/latest/source/drivers/net/i40e/i40e_rxtx_vec_
>> avx2.c#L791
>> But seems no change for this.
>>
>> Any comment please?
>> [...]
> I don't know about the i40e driver, but I can confirm that the vlan tci flag should be in the first segment, and not in the next ones.
>
> I suggest to CC i40e driver maintainers.
>
> Regards,
> Olivier
On one hand, as Olivier said that vlan tci flag should be in the first
segment, and on the other hands, vlan_tci do process in
"_recv_raw_pkts_vec_avx2" when use 256 instinct
to process the descriptor with mbuf, you could check how to process the
vlan_flags_shuf and blend it into the mbuf.
More information about the dev
mailing list