This is preliminary rework for virtio-vdpa driver, in order to avoid conflicts with Virtio PMD headers.
Generally, I think it is better not to include kernel headers in RTE headers, especially in the case of Vhost and Virtio which just re-use the kernel definitions, and has no runtime dependencies. In order to not break IFC driver build, the vhost kernel header is now included directly in the driver. Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> --- drivers/net/ifc/ifcvf_vdpa.c | 1 + lib/librte_vhost/rte_vdpa.h | 1 - lib/librte_vhost/rte_vhost.h | 9 ++++----- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c index 8de9ef199..40cb15ca8 100644 --- a/drivers/net/ifc/ifcvf_vdpa.c +++ b/drivers/net/ifc/ifcvf_vdpa.c @@ -7,6 +7,7 @@ #include <fcntl.h> #include <sys/ioctl.h> #include <sys/epoll.h> +#include <linux/vhost.h> #include <linux/virtio_net.h> #include <stdbool.h> diff --git a/lib/librte_vhost/rte_vdpa.h b/lib/librte_vhost/rte_vdpa.h index 9a3deb31d..69438210b 100644 --- a/lib/librte_vhost/rte_vdpa.h +++ b/lib/librte_vhost/rte_vdpa.h @@ -14,7 +14,6 @@ #include <stdbool.h> #include <rte_pci.h> -#include "rte_vhost.h" #define MAX_VDPA_NAME_LEN 128 diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h index 7fb172912..62d3c3c36 100644 --- a/lib/librte_vhost/rte_vhost.h +++ b/lib/librte_vhost/rte_vhost.h @@ -20,11 +20,6 @@ extern "C" { #endif -/* These are not C++-aware. */ -#include <linux/vhost.h> -#include <linux/virtio_ring.h> -#include <linux/virtio_net.h> - #define RTE_VHOST_USER_CLIENT (1ULL << 0) #define RTE_VHOST_USER_NO_RECONNECT (1ULL << 1) #define RTE_VHOST_USER_DEQUEUE_ZERO_COPY (1ULL << 2) @@ -72,6 +67,10 @@ extern "C" { #define VHOST_USER_PROTOCOL_F_HOST_NOTIFIER 11 #endif +#ifndef VHOST_F_LOG_ALL +#define VHOST_F_LOG_ALL 26 +#endif + /** Indicate whether protocol features negotiation is supported. */ #ifndef VHOST_USER_F_PROTOCOL_FEATURES #define VHOST_USER_F_PROTOCOL_FEATURES 30 -- 2.21.0