The virtqueue header files include the mbuf header file, but they do not need to do so as they only use pointers to the struct rte_mbuf type, and do not use any of the mbuf internals, nor any of the mbuf functions or macros. Therefore the inclusion is unnecessary, and can be replaced by a forward declaration of the mbuf type.
Signed-off-by: Bruce Richardson <bruce.richardson at intel.com> --- lib/librte_pmd_virtio/virtqueue.h | 3 ++- lib/librte_pmd_xenvirt/virtqueue.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_virtio/virtqueue.h b/lib/librte_pmd_virtio/virtqueue.h index 41dda50..9d6079e 100644 --- a/lib/librte_pmd_virtio/virtqueue.h +++ b/lib/librte_pmd_virtio/virtqueue.h @@ -37,7 +37,6 @@ #include <stdint.h> #include <rte_atomic.h> -#include <rte_mbuf.h> #include <rte_memory.h> #include <rte_memzone.h> #include <rte_mempool.h> @@ -46,6 +45,8 @@ #include "virtio_ring.h" #include "virtio_logs.h" +struct rte_mbuf; + /* * Per virtio_config.h in Linux. * For virtio_pci on SMP, we don't need to order with respect to MMIO diff --git a/lib/librte_pmd_xenvirt/virtqueue.h b/lib/librte_pmd_xenvirt/virtqueue.h index 34a24fc..eff6208 100644 --- a/lib/librte_pmd_xenvirt/virtqueue.h +++ b/lib/librte_pmd_xenvirt/virtqueue.h @@ -42,10 +42,11 @@ #include <rte_memory.h> #include <rte_memzone.h> #include <rte_mempool.h> -#include <rte_mbuf.h> #include "virtio_logs.h" +struct rte_mbuf; + /* The alignment to use between consumer and producer parts of vring. */ #define VIRTIO_PCI_VRING_ALIGN 4096 -- 2.1.0