From f72cab94dd35d7b45ec5a4f35967adf3184ca616 Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Mon, 15 Nov 2021 11:01:14 +0300 Subject: [PATCH] lib/vhost: Fix compilation with dpdk 21.11 Structure vhost_device_ops was renamed to rte_vhost_device_ops Signed-off-by: Alexey Marchuk Change-Id: Ie9601099d47465536500aa37fc113aeae03a8254 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10223 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Reviewed-by: John Kariuki Reviewed-by: Changpeng Liu Reviewed-by: Tomasz Zawadzki --- lib/vhost/rte_vhost_compat.c | 5 +++++ test/unit/lib/vhost/vhost.c/vhost_ut.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/lib/vhost/rte_vhost_compat.c b/lib/vhost/rte_vhost_compat.c index 3c9f69188..08574cfad 100644 --- a/lib/vhost/rte_vhost_compat.c +++ b/lib/vhost/rte_vhost_compat.c @@ -3,6 +3,7 @@ * * Copyright (c) Intel Corporation. * All rights reserved. + * Copyright (c) 2021 Mellanox Technologies LTD. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -134,7 +135,11 @@ destroy_connection(int vid) vhost_destroy_connection_cb(vid); } +#if RTE_VERSION >= RTE_VERSION_NUM(21, 11, 0, 0) +static const struct rte_vhost_device_ops g_spdk_vhost_ops = { +#else static const struct vhost_device_ops g_spdk_vhost_ops = { +#endif .new_device = start_device, .destroy_device = stop_device, .new_connection = new_connection, diff --git a/test/unit/lib/vhost/vhost.c/vhost_ut.c b/test/unit/lib/vhost/vhost.c/vhost_ut.c index df1c32d28..e62da3346 100644 --- a/test/unit/lib/vhost/vhost.c/vhost_ut.c +++ b/test/unit/lib/vhost/vhost.c/vhost_ut.c @@ -3,6 +3,7 @@ * * Copyright (c) Intel Corporation. * All rights reserved. + * Copyright (c) 2021 Mellanox Technologies LTD. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -41,6 +42,7 @@ #include "unit/lib/json_mock.c" #include "vhost/vhost.c" +#include DEFINE_STUB(rte_vhost_set_vring_base, int, (int vid, uint16_t queue_id, uint16_t last_avail_idx, uint16_t last_used_idx), 0); @@ -65,8 +67,13 @@ DEFINE_STUB(rte_vhost_enable_guest_notification, int, (int vid, uint16_t queue_id, int enable), 0); DEFINE_STUB(rte_vhost_get_ifname, int, (int vid, char *buf, size_t len), 0); DEFINE_STUB(rte_vhost_driver_start, int, (const char *name), 0); +#if RTE_VERSION >= RTE_VERSION_NUM(21, 11, 0, 0) +DEFINE_STUB(rte_vhost_driver_callback_register, int, + (const char *path, struct rte_vhost_device_ops const *const ops), 0); +#else DEFINE_STUB(rte_vhost_driver_callback_register, int, (const char *path, struct vhost_device_ops const *const ops), 0); +#endif DEFINE_STUB(rte_vhost_driver_disable_features, int, (const char *path, uint64_t features), 0); DEFINE_STUB(rte_vhost_driver_set_features, int, (const char *path, uint64_t features), 0); DEFINE_STUB(rte_vhost_driver_register, int, (const char *path, uint64_t flags), 0);