On Sat, Feb 14, 2015 at 01:06:48PM -0500, Stephen Hemminger wrote: > This driver implements DPDK driver that has the same functionality > as net-front driver in Linux kernel. > > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org> > --- > config/common_linuxapp | 6 + > lib/Makefile | 1 + > lib/librte_eal/common/eal_private.h | 7 + > lib/librte_eal/linuxapp/eal/eal.c | 8 + > lib/librte_pmd_xen/Makefile | 30 ++ > lib/librte_pmd_xen/virt_dev.c | 400 +++++++++++++++++++++++++ > lib/librte_pmd_xen/virt_dev.h | 30 ++ > lib/librte_pmd_xen/xen_adapter_info.h | 64 ++++ > lib/librte_pmd_xen/xen_dev.c | 369 +++++++++++++++++++++++ > lib/librte_pmd_xen/xen_dev.h | 96 ++++++ > lib/librte_pmd_xen/xen_logs.h | 23 ++ > lib/librte_pmd_xen/xen_rxtx.c | 546 > ++++++++++++++++++++++++++++++++++ > lib/librte_pmd_xen/xen_rxtx.h | 110 +++++++ > mk/rte.app.mk | 4 + > 14 files changed, 1694 insertions(+) > create mode 100644 lib/librte_pmd_xen/Makefile > create mode 100644 lib/librte_pmd_xen/virt_dev.c > create mode 100644 lib/librte_pmd_xen/virt_dev.h > create mode 100644 lib/librte_pmd_xen/xen_adapter_info.h > create mode 100644 lib/librte_pmd_xen/xen_dev.c > create mode 100644 lib/librte_pmd_xen/xen_dev.h > create mode 100644 lib/librte_pmd_xen/xen_logs.h > create mode 100644 lib/librte_pmd_xen/xen_rxtx.c > create mode 100644 lib/librte_pmd_xen/xen_rxtx.h ><snip> > + > +int > +rte_xen_pmd_init(void) > +{ > + PMD_INIT_FUNC_TRACE(); > + > + xen_evt_fd = open("/dev/"XEN_PMD_UIO_NAME, O_RDWR); > + > + if (xen_evt_fd == -1) { > + if (errno != ENOENT) > + PMD_INIT_LOG(ERR, "cannot open event device %s", > + "/dev/"XEN_PMD_UIO_NAME); > + return 0; > + } > + > + return virt_eth_driver_register(&rte_xen_pmd); > +} It looks like you've created a new method of registering a pmd here? Why not use the existing REGISTER_PMD_DRIVER macro? It seems like this method will break the DSO build.
Neil >