[dpdk-dev] [PATCH] enic: corrected the usage of VFIO_PRESENT

Burakov, Anatoly anatoly.burakov at intel.com
Tue Dec 16 11:22:44 CET 2014


> On 16/12/14 4:54 am, "Thomas Monjalon" <thomas.monjalon at 6wind.com>
> wrote:
> 
> >2014-12-12 13:48, Sujith Sankar:
> >> This patch corrects the usage of the flag VFIO_PRESENT in enic driver.
> >
> >Please, could you explain why the flag VFIO_PRESENT was not well used?
> 
> Without including eal_vfio.h, VFIO_PRESENT is not available in enic.
> Hence VFIO specific code in enic was not getting compiled and some errors
> were generated during run-time.
> 
> >
> >> This has uncovered a few warnings, and this patch corrects those too.
> >[...]
> >> --- a/lib/librte_pmd_enic/enic_main.c
> >> +++ b/lib/librte_pmd_enic/enic_main.c
> >> @@ -39,6 +39,7 @@
> >>  #include <sys/mman.h>
> >>  #include <fcntl.h>
> >>  #include <libgen.h>
> >> +#include <sys/ioctl.h>
> >>
> >>  #include <rte_pci.h>
> >>  #include <rte_memzone.h>
> >> @@ -46,6 +47,7 @@
> >>  #include <rte_mbuf.h>
> >>  #include <rte_string_fns.h>
> >>  #include <rte_ethdev.h>
> >> +#include <eal_vfio.h>
> >
> >This header was not designed to be included by PMDs.
> >It will break compilation on BSD.
> 
> Is there an alternative to make VFIO_PRESENT available in enic?  Please
> advise.
> 
> Thanks,
> -Sujith
> 
> >
> >>  #include "enic_compat.h"
> >>  #include "enic.h"
> >> @@ -561,6 +563,7 @@ enic_free_consistent(__rte_unused struct
> >>rte_pci_device *hwdev,
> >>  	/* Nothing to be done */
> >>  }
> >>
> >> +#ifndef VFIO_PRESENT
> >>  static void
> >>  enic_intr_handler(__rte_unused struct rte_intr_handle *handle,
> >>  	void *arg)
> >> @@ -572,6 +575,7 @@ enic_intr_handler(__rte_unused struct
> >>rte_intr_handle *handle,
> >>
> >>  	enic_log_q_error(enic);
> >>  }
> >> +#endif
> >
> >--
> >Thomas

Hi Sujith

Thomas is correct, VFIO code is designed to be EAL-only (mainly because it's Linuxapp-specific, and PMD's are intended to be cross-platform at least when it comes to compilation). Whatever it is that you're working around is better fixed in the EAL itself rather than in the PMD.

Thanks,
Anatoly


More information about the dev mailing list