On 7/12/22 14:28, Thomas Monjalon wrote:
12/07/2022 14:26, Thomas Monjalon:
12/07/2022 11:16, Maxime Coquelin:

On 5/18/21 09:34, Thomas Monjalon wrote:
There is a layer violation in the vDPA API which encourages to destroy
a full device with rte_dev_remove() instead of just closing the port.
The plan is to introduce a new function in 21.08, promote in 21.11,
and deprecate rte_vdpa_get_rte_device() in 21.11.
[...]
+* vdpa: The vDPA API should not try to manipulate or export
+  any ``rte_device`` object, which belongs to the bus layer.
+  The function ``rte_vdpa_get_rte_device()`` will be deprecated in 21.11,
+  when its usage will be replaced with a function ``rte_vdpa_close()``.
+  The new function should enter in 21.08 and get promoted to stable in 21.11.
+  A port close function will allow to close a single port without destroying
+  the rest of the device.

Maybe there was some changes since you posted the announce, but I don't
see why rte_vdpa_close() would be needed. It seems the only user of
rte_vdpa_get_rte_device() is the internal vDPA example, and it only use
it to get and print the device name.

You're right, it was an oversight.
So we need only to get the rte_device name.

I propose to replace
        struct rte_device *rte_vdpa_get_rte_device(struct rte_vdpa_device 
*vdpa_dev);
with
        const char *rte_vdpa_get_name(void);

sorry, I missed a parameter :)
It would be:
        const char *rte_vdpa_get_name(struct rte_vdpa_device *vdpa_dev);

Or do you prefer "rte_vdpa_get_device_name"?



rte_vdpa_get_device_name may be prefered to avoid confusion with the
socket name.

Thanks,
Maxime

Reply via email to