[dpdk-dev] [PATCH v2 1/2] lib/librte_pmd_i40e: set vlan filter fix

Qiu, Michael michael.qiu at intel.com
Mon Nov 24 09:32:38 CET 2014


On 11/10/2014 2:42 PM, Xie, Huawei wrote:
>
>> -----Original Message-----
>> From: Zhang, Helin
>> Sent: Sunday, November 09, 2014 10:09 PM
>> To: Xie, Huawei; dev at dpdk.org
>> Subject: RE: [dpdk-dev] [PATCH v2 1/2] lib/librte_pmd_i40e: set vlan filter fix
>>
>>
>>
>>> -----Original Message-----
>>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
>>> Sent: Monday, November 10, 2014 10:46 AM
>>> To: dev at dpdk.org
>>> Subject: [dpdk-dev] [PATCH v2 1/2] lib/librte_pmd_i40e: set vlan filter fix
>>>
>>> ">> 5" rather than ">> 4"
>>>
>>> Signed-off-by: Huawei Xie <huawei.xie at intel.com>
>>> ---
>>>  lib/librte_pmd_i40e/i40e_ethdev.c | 7 ++-----
>>>  1 file changed, 2 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c
>>> b/lib/librte_pmd_i40e/i40e_ethdev.c
>>> index 5074262..c0cf3cf 100644
>>> --- a/lib/librte_pmd_i40e/i40e_ethdev.c
>>> +++ b/lib/librte_pmd_i40e/i40e_ethdev.c
>>> @@ -4048,14 +4048,11 @@ i40e_set_vlan_filter(struct i40e_vsi *vsi,  {
>>>  	uint32_t vid_idx, vid_bit;
>>>
>>> -#define UINT32_BIT_MASK      0x1F
>>> -#define VALID_VLAN_BIT_MASK  0xFFF
>>>  	/* VFTA is 32-bits size array, each element contains 32 vlan bits, Find the
>>>  	 *  element first, then find the bits it belongs to
>>>  	 */
>>> -	vid_idx = (uint32_t) ((vlan_id & VALID_VLAN_BIT_MASK) >>
>>> -		  sizeof(uint32_t));
>>> -	vid_bit = (uint32_t) (1 << (vlan_id & UINT32_BIT_MASK));
>>> +	vid_idx = (uint32_t) ((vlan_id >> 5 ) & 0x7F);

                                                                              
^^^^^^^^^^^^
                                                                       
       No need additional space after '5'
>>> +	vid_bit = (uint32_t) (1 << (vlan_id & 0x1F));
>> I don't understand why remove macros and use numeric instead?
> Those macros are wrongly defined. Correct macros are defined in second patch.

Is there any issue to swap your patch order, and use your defined macros
here? That would be much better if no other issue.

Thanks,
Michael
>>>  	if (on)
>>>  		vsi->vfta[vid_idx] |= vid_bit;
>>> --
>>> 1.8.1.4
>> Regards,
>> Helin



More information about the dev mailing list