> >>>> This patch adds support for a new port type to the userspace datapath > >>>> called dpdkvhostuser. It adds to the existing infrastructure of > >>>> vhost-cuse, however disables vhost-cuse ports in favour of vhost-user > >>>> ports. > >>>> > >>>> A new dpdkvhostuser port will create a unix domain socket which > when > >>>> provided to QEMU is used to facilitate communication between the > >>>> virtio-net device on the VM and the OVS port. > >>>> > >>>> Signed-off-by: Ciara Loftus <ciara.lof...@intel.com> > >>>> --- > >>>> INSTALL.DPDK.md | 115 > >>>> ++++++++++++++++++++++++++++++++++++------------ > >>> > >>> ... > >>> ... > >>>> > >>>> > >>>> diff --git a/acinclude.m4 b/acinclude.m4 > >>>> index 18598b3..2113dfb 100644 > >>>> --- a/acinclude.m4 > >>>> +++ b/acinclude.m4 > >>>> @@ -224,6 +224,19 @@ AC_DEFUN([OVS_CHECK_DPDK], [ > >>>> AM_CONDITIONAL([DPDK_NETDEV], test -n "$RTE_SDK") > >>>> ]) > >>>> > >>>> +dnl OVS_CHECK_VHOST_CUSE > >>>> +dnl > >>>> +dnl Enable DPDK vhost-cuse support in favour of vhost-user > >>>> +AC_DEFUN([OVS_CHECK_VHOST_CUSE], [ > >>>> + AC_ARG_WITH(vhostcuse, > >>>> + [AC_HELP_STRING([--with-vhostcuse], > >>>> + [Enable DPDK vhost-cuse])]) > >>>> + > >>>> + if test X"$with_vhostcuse" != X; then > >>>> + AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support enabled, > >>>> vhost-user disabled.]) > >>>> + fi > >>>> +]) > >>>> + > >>>> dnl OVS_GREP_IFELSE(FILE, REGEX, [IF-MATCH], [IF-NO-MATCH]) > >>>> dnl > >>>> dnl Greps FILE for REGEX. If it matches, runs IF-MATCH, otherwise > >>>> IF-NO-MATCH. > >>>> diff --git a/configure.ac b/configure.ac > >>>> index 8d47eb9..14c4b35 100644 > >>> > >>> > >>> We need to compile-in support for both - vhost-cuse and vhost-user and > >>> use it according to port configuration. This way we can keep single > >>> executable for all use cases. > >> > >> > >> The problem is that this is a compile-time option in DPDK, librte_vhost > only > >> supports one or the other depending on how DPDK was built. > >> > >> The API looks the same in both cases, but behaves differently in that that > >> rte_vhost_driver_register() expects an absolute path for vhost-user and a > >> relative one (under /dev) for vhost-cuse. > >> > > > > ok. > > If you detect vhost implementation build in DPDK library at configure > > time there is no need for another OVS configure option. > > The DPDK configuration is available in rte_config.h so one can just > include that to see whether vhost support is enabled in DPDK at all + > whether its using vhost-user or -cuse. > > - Panu -
This may may not be entirely reliable. rte_config.h seems to only reflect the settings that are hard coded in the config/common_linuxapp file in DPDK. If the user chooses to build DPDK using flags on the command line like so: 'make install T=x86_64-ivshmem-linuxapp-gcc CONFIG_RTE_LIBRTE_VHOST=y CONFIG_RTE_BUILD_COMBINE_LIBS=y CONFIG_RTE_LIBRTE_VHOST_USER=n' ..those settings will not be reflected in the rte_config.h file. ie. in the case above, in rte_config.h, CONFIG_RTE_LIBRTE_VHOST_USER=y in the rte_config.h file even though the user has built DPDK with vhost-user off. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev