vhost: mark vDPA driver API as internal
Checks
Commit Message
This patch marks the vDPA driver APIs as internal and
rename the corresponding header file.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
drivers/vdpa/ifc/ifcvf_vdpa.c | 2 +-
drivers/vdpa/mlx5/mlx5_vdpa.h | 2 +-
lib/vhost/meson.build | 4 +++-
lib/vhost/vdpa.c | 2 +-
lib/vhost/{rte_vdpa_dev.h => vdpa_dev.h} | 6 ++++++
lib/vhost/version.map | 13 +++++++++----
lib/vhost/vhost.h | 2 +-
7 files changed, 22 insertions(+), 9 deletions(-)
rename lib/vhost/{rte_vdpa_dev.h => vdpa_dev.h} (97%)
Comments
On Thu, Oct 28, 2021 at 2:03 PM Maxime Coquelin
<maxime.coquelin@redhat.com> wrote:
>
> This patch marks the vDPA driver APIs as internal and
> rename the corresponding header file.
>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
> drivers/vdpa/ifc/ifcvf_vdpa.c | 2 +-
> drivers/vdpa/mlx5/mlx5_vdpa.h | 2 +-
> lib/vhost/meson.build | 4 +++-
> lib/vhost/vdpa.c | 2 +-
> lib/vhost/{rte_vdpa_dev.h => vdpa_dev.h} | 6 ++++++
It is more explicit it is a driver-only header if we rename as
vdpa_driver.h or vdpa_pmd.h.
[snip]
> @@ -86,3 +82,12 @@ EXPERIMENTAL {
> rte_vhost_async_channel_unregister_thread_unsafe;
> rte_vhost_clear_queue_thread_unsafe;
> };
> +
> +INTERNAL {
> + global;
> +
> + rte_vdpa_register_device;
> + rte_vdpa_unregister_device;
> + rte_vhost_host_notifier_ctrl;
> + rte_vdpa_relay_vring_used;
> +};
Alphabetical order, please.
Please also add a note in the release notes.
Strictly speaking, this is an announced API change.
Cc: techboard.
The rest lgtm.
Thanks.
On 10/28/21 14:38, David Marchand wrote:
> On Thu, Oct 28, 2021 at 2:03 PM Maxime Coquelin
> <maxime.coquelin@redhat.com> wrote:
>>
>> This patch marks the vDPA driver APIs as internal and
>> rename the corresponding header file.
>>
>> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>> ---
>> drivers/vdpa/ifc/ifcvf_vdpa.c | 2 +-
>> drivers/vdpa/mlx5/mlx5_vdpa.h | 2 +-
>> lib/vhost/meson.build | 4 +++-
>> lib/vhost/vdpa.c | 2 +-
>> lib/vhost/{rte_vdpa_dev.h => vdpa_dev.h} | 6 ++++++
>
> It is more explicit it is a driver-only header if we rename as
> vdpa_driver.h or vdpa_pmd.h.
Agree, I can take the opportunity to rename it to vdpa_driver.h.
> [snip]
>
>> @@ -86,3 +82,12 @@ EXPERIMENTAL {
>> rte_vhost_async_channel_unregister_thread_unsafe;
>> rte_vhost_clear_queue_thread_unsafe;
>> };
>> +
>> +INTERNAL {
>> + global;
>> +
>> + rte_vdpa_register_device;
>> + rte_vdpa_unregister_device;
>> + rte_vhost_host_notifier_ctrl;
>> + rte_vdpa_relay_vring_used;
>> +};
>
> Alphabetical order, please.
Will do.
> Please also add a note in the release notes.
>
> Strictly speaking, this is an announced API change.
> Cc: techboard.
Correct, I think we need a vote from the techboard.
@Techboard, this API change felt through the cracks.
Please note that the drivers APIs that are being marked as
internal were already moved in a dedicated header last year,
so any application are likely not using these APIs.
There is a patch for mlx5 vdpa that introduces a new entry
to struct rte_vdpa_dev_ops, so I think it would be better
to have these APIs marked as internal before mlx5 patch is
applied.
Thanks in advance,
Maxime
>
> The rest lgtm.
> Thanks.
>
@@ -17,7 +17,7 @@
#include <rte_bus_pci.h>
#include <rte_vhost.h>
#include <rte_vdpa.h>
-#include <rte_vdpa_dev.h>
+#include <vdpa_dev.h>
#include <rte_vfio.h>
#include <rte_spinlock.h>
#include <rte_log.h>
@@ -12,7 +12,7 @@
#pragma GCC diagnostic ignored "-Wpedantic"
#endif
#include <rte_vdpa.h>
-#include <rte_vdpa_dev.h>
+#include <vdpa_dev.h>
#include <rte_vhost.h>
#ifdef PEDANTIC
#pragma GCC diagnostic error "-Wpedantic"
@@ -29,9 +29,11 @@ sources = files(
)
headers = files(
'rte_vdpa.h',
- 'rte_vdpa_dev.h',
'rte_vhost.h',
'rte_vhost_async.h',
'rte_vhost_crypto.h',
)
+driver_sdk_headers = files(
+ 'vdpa_dev.h',
+)
deps += ['ethdev', 'cryptodev', 'hash', 'pci']
@@ -17,7 +17,7 @@
#include <rte_tailq.h>
#include "rte_vdpa.h"
-#include "rte_vdpa_dev.h"
+#include "vdpa_dev.h"
#include "vhost.h"
/** Double linked list of vDPA devices. */
similarity index 97%
rename from lib/vhost/rte_vdpa_dev.h
rename to lib/vhost/vdpa_dev.h
@@ -7,6 +7,8 @@
#include <stdbool.h>
+#include <rte_compat.h>
+
#include "rte_vhost.h"
#include "rte_vdpa.h"
@@ -88,6 +90,7 @@ struct rte_vdpa_device {
* @return
* vDPA device pointer on success, NULL on failure
*/
+__rte_internal
struct rte_vdpa_device *
rte_vdpa_register_device(struct rte_device *rte_dev,
struct rte_vdpa_dev_ops *ops);
@@ -100,6 +103,7 @@ rte_vdpa_register_device(struct rte_device *rte_dev,
* @return
* device id on success, -1 on failure
*/
+__rte_internal
int
rte_vdpa_unregister_device(struct rte_vdpa_device *dev);
@@ -115,6 +119,7 @@ rte_vdpa_unregister_device(struct rte_vdpa_device *dev);
* @return
* 0 on success, -1 on failure
*/
+__rte_internal
int
rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable);
@@ -132,6 +137,7 @@ rte_vhost_host_notifier_ctrl(int vid, uint16_t qid, bool enable);
* @return
* number of synced used entries on success, -1 on failure
*/
+__rte_internal
int
rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m);
@@ -8,10 +8,7 @@ DPDK_22 {
rte_vdpa_get_rte_device;
rte_vdpa_get_stats;
rte_vdpa_get_stats_names;
- rte_vdpa_register_device;
- rte_vdpa_relay_vring_used;
rte_vdpa_reset_stats;
- rte_vdpa_unregister_device;
rte_vhost_avail_entries;
rte_vhost_clr_inflight_desc_packed;
rte_vhost_clr_inflight_desc_split;
@@ -52,7 +49,6 @@ DPDK_22 {
rte_vhost_get_vring_base_from_inflight;
rte_vhost_get_vring_num;
rte_vhost_gpa_to_vva;
- rte_vhost_host_notifier_ctrl;
rte_vhost_log_used_vring;
rte_vhost_log_write;
rte_vhost_rx_queue_count;
@@ -86,3 +82,12 @@ EXPERIMENTAL {
rte_vhost_async_channel_unregister_thread_unsafe;
rte_vhost_clear_queue_thread_unsafe;
};
+
+INTERNAL {
+ global;
+
+ rte_vdpa_register_device;
+ rte_vdpa_unregister_device;
+ rte_vhost_host_notifier_ctrl;
+ rte_vdpa_relay_vring_used;
+};
@@ -22,7 +22,7 @@
#include "rte_vhost.h"
#include "rte_vdpa.h"
-#include "rte_vdpa_dev.h"
+#include "vdpa_dev.h"
#include "rte_vhost_async.h"