[dpdk-dev] [PATCH] ethdev: fix port ID retrieval on vdev attach

Andrew Rybchenko arybchenko at solarflare.com
Wed Jul 11 13:10:06 CEST 2018


On 11.07.2018 13:52, Thomas Monjalon wrote:
> 11/07/2018 12:15, Andrew Rybchenko:
>> On 11.07.2018 13:02, Thomas Monjalon wrote:
>>> 11/07/2018 11:49, Andrew Rybchenko:
>>>> From: Ivan Malov <ivan.malov at oktetlabs.ru>
>>>>
>>>> Attaching a vdev port may result in multiple
>>>> ports actually added because a vdev port may
>>>> have slave devices to be attached implicitly.
>>>>
>>>> Ethdev attach API has to fill in the port ID
>>>> to be read back by the user and what it does
>>>> is take the last assigned ID from the common
>>>> list after attach completion. Such an ID may
>>>> belong to a slave device and not to the vdev.
>>>>
>>>> This mistake must be precluded by requesting
>>>> the port ID by name of device being attached.
>>> No, the real issue is using this function rte_eth_dev_attach.
>>> It is broken since day 1.
>>> Mixing EAL devargs and ethdev port cannot work by design.
>>>
>>> If you want to attach a device, you must add it with
>>> 	rte_eal_hotplug_add
>>> and wait for the driver to probe the ports
>>> (which can be ethdev or other classes).
>> Yes, I totally agree. Doesn't it deserve to be fixed at least in stable?
> The concern with stable is to keep it stable :)
> I'm afraid this change can introduce more regressions.

Makes sense. I'll drop the patch.

>>> We should take these actions in 18.08:
>>> 	- deprecate rte_eth_dev_attach/rte_eth_dev_detach
>>> 	- deprecate rte_eal_dev_attach/rte_eal_dev_detach
>>> I did not take time to send the deprecation notices yet.
>>> Feel free to deprecate these functions yourself.
>> Should we deprecate it right now in 18.08 and schedule removal to 18.11?
> Yes, we should mark it as deprecated in 18.08 and plan for removal in 18.11.
> It is good to get it removed from the next LTS which is 18.11.

Yes, I agree. I'll care about it.

>> Or just add deprecation notice in 18.08, mark deprecated in 18.11 and
>> remove later?
> Later is too late :)



More information about the dev mailing list