Commit 58397e6c authored by Kevin Traynor's avatar Kevin Traynor Committed by Pravin B Shelar

netdev-dpdk: add dpdk vhost-cuse ports

This patch adds support for a new port type to userspace datapath
called dpdkvhost. This allows KVM (QEMU) to offload the servicing
of virtio-net devices to its associated dpdkvhost port. Instructions
for use are in INSTALL.DPDK.

This has been tested on Intel multi-core platforms and with clients
that have virtio-net interfaces.
Signed-off-by: default avatarCiara Loftus <ciara.loftus@intel.com>
Signed-off-by: default avatarKevin Traynor <kevin.traynor@intel.com>
Signed-off-by: default avatarMaryam Tahhan <maryam.tahhan@intel.com>
Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
parent 58be9c9f
This diff is collapsed.
......@@ -32,6 +32,10 @@ AM_CFLAGS = -Wstrict-prototypes
AM_CFLAGS += $(WARNING_FLAGS)
AM_CFLAGS += $(OVS_CFLAGS)
if DPDK_NETDEV
AM_CFLAGS += -D_FILE_OFFSET_BITS=64
endif
if NDEBUG
AM_CPPFLAGS += -DNDEBUG
AM_CFLAGS += -fomit-frame-pointer
......
......@@ -71,6 +71,7 @@ Post-v2.3.0
Auto-Attach.
- The default OpenFlow and OVSDB ports are now the IANA-assigned
numbers. OpenFlow is 6653 and OVSDB is 6640.
- Support for DPDK vHost.
v2.3.0 - 14 Aug 2014
......
......@@ -170,7 +170,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [
DPDK_INCLUDE=$RTE_SDK/include
DPDK_LIB_DIR=$RTE_SDK/lib
DPDK_LIB=-lintel_dpdk
DPDK_LIB="-lintel_dpdk -lfuse "
ovs_save_CFLAGS="$CFLAGS"
ovs_save_LDFLAGS="$LDFLAGS"
......@@ -214,7 +214,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [
#
# These options are specified inside a single -Wl directive to prevent
# autotools from reordering them.
DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive
DPDK_vswitchd_LDFLAGS=-Wl,$DPDK_LIB
AC_SUBST([DPDK_vswitchd_LDFLAGS])
AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.])
else
......
This diff is collapsed.
......@@ -108,7 +108,8 @@ bool
netdev_is_pmd(const struct netdev *netdev)
{
return (!strcmp(netdev->netdev_class->type, "dpdk") ||
!strcmp(netdev->netdev_class->type, "dpdkr"));
!strcmp(netdev->netdev_class->type, "dpdkr") ||
!strcmp(netdev->netdev_class->type, "dpdkvhost"));
}
static void
......
......@@ -46,7 +46,8 @@ EXTRA_DIST += \
utilities/ovs-save \
utilities/ovs-tcpundump.in \
utilities/ovs-test.in \
utilities/ovs-vlan-test.in
utilities/ovs-vlan-test.in \
utilities/qemu-wrap.py
MAN_ROOTS += \
utilities/ovs-appctl.8.in \
utilities/ovs-benchmark.1.in \
......
This diff is collapsed.
......@@ -252,11 +252,13 @@ usage(void)
daemon_usage();
vlog_usage();
printf("\nDPDK options:\n"
" --dpdk options Initialize DPDK datapath.\n");
" --dpdk options Initialize DPDK datapath.\n"
" --cuse_dev_name BASENAME override default character device name\n"
" for use with userspace vHost.\n");
printf("\nOther options:\n"
" --unixctl=SOCKET override default control socket name\n"
" -h, --help display this help message\n"
" -V, --version display version information\n");
" --unixctl=SOCKET override default control socket name\n"
" -h, --help display this help message\n"
" -V, --version display version information\n");
exit(EXIT_SUCCESS);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment