[01/15] vhost: remove vhost kernel header inclusion
Checks
Commit Message
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.coquelin@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(-)
Comments
On Thu, Aug 29, 2019 at 09:59:46AM +0200, Maxime Coquelin wrote:
> 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.coquelin@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(-)
Vhost examples need to be updated as well.
Regards,
Tiwei
>
> diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c
> index 8de9ef199..40cb15ca8 100644
On 9/2/19 8:03 AM, Tiwei Bie wrote:
> On Thu, Aug 29, 2019 at 09:59:46AM +0200, Maxime Coquelin wrote:
>> 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.coquelin@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(-)
>
> Vhost examples need to be updated as well.
Ha, yes, good catch.
It will be done in v2.
Thanks,
Maxime
> Regards,
> Tiwei
>
>>
>> diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c
>> index 8de9ef199..40cb15ca8 100644
@@ -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>
@@ -14,7 +14,6 @@
#include <stdbool.h>
#include <rte_pci.h>
-#include "rte_vhost.h"
#define MAX_VDPA_NAME_LEN 128
@@ -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