[dpdk-dev] [PATCH v6 2/2] ethdev: fix VLAN offloads set if no relative capabilities

Wei Hu (Xavier) xavier.huwei at huawei.com
Thu Jul 9 09:39:47 CEST 2020



On 2020/7/8 18:14, Thomas Monjalon wrote:
> 08/07/2020 05:37, Wei Hu (Xavier):
>> On 2020/7/7 22:11, Thomas Monjalon wrote:
>>> 06/07/2020 09:06, Wei Hu (Xavier):
>>>> Currently, there is a potential problem that calling the API function
>>>> rte_eth_dev_set_vlan_offload to start VLAN hardware offloads which the
>>>> driver does not support. If the PMD driver does not support certain VLAN
>>>> hardware offloads and does not check for it, the hardware setting will
>>>> not change, but the VLAN offloads in dev->data->dev_conf.rxmode.offloads
>>>> will be turned on.
>>>>
>>>> It is supposed to check the hardware capabilities to decide whether the
>>>> relative callback needs to be called just like the behavior in the API
>>>> function named rte_eth_dev_configure. And it is also needed to cleanup
>>>> duplicated checks which are done in some PMDs. Also, note that it is
>>>> behaviour change for some PMDs which simply ignore (with error/warning log
>>>> message) unsupported VLAN offloads, but now it will fail.
> [...]
>>>> @@ -3317,6 +3319,25 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
>>>>    	if (mask == 0)
>>>>    		return ret;
>>>>    
>>>> +	ret = rte_eth_dev_info_get(port_id, &dev_info);
>>>> +	if (ret != 0)
>>>> +		return ret;
>>>> +
>>>> +	/*
>>>> +	 * New added Rx VLAN offloading which are not enabled in
>>>> +	 * rte_eth_dev_configure() must be within its device capabilities
>>>> +	 */
>>> What means "New added Rx VLAN offloading"?
>> The parameter offload_mask of rte_eth_dev_set_vlan_offload() function
>> includes some Rx VLAN offload, and some of them maybe are not enabled
>> in rte_eth_dev_configure().
> OK
>
> I don't understand why checking only new features.
> All enabled features must be within capabilities, right?
Yes,you are right. all enabled features must be within capabilities,
Some features enabled in rte_eth_dev_configure() had been already checked,
So the comment here emphasizes 'new added Rx VLAN offloading'.

Thanks,Xavier
>
>
>
> .
>



More information about the dev mailing list