Following patch adds DPDK netdev-class to userspace datapath. Approach taken in this patch differs from Intel DPDK vSwitch where DPDK datapath switching is done in saparate process. This patch adds support for DPDK type port and uses OVS userspace datapath for switching. Therefore all DPDK processing and flow miss handling is done in single process. This also avoids code duplication by reusing OVS userspace datapath switching and therefore it supports all flow matching and actions that user-space datapath supports. Refer to INSTALL.DPDK doc for further info.
First eight patch are preparation for DPDK patch. v1-v2: Fixed according to comments from Ben and Jarno. Fixed netdev-bsd. Pravin (10): netdev: Extend rx_recv to pass multiple packets. netdev: Send ofpbuf directly to netdev. dpif-netdev: Add ref-counting for port. dpif-netdev: Add poll-mode-device thread. netdev: Rename netdev_rx to netdev_rxq netdev: Add support multiqueue recv. ofpbuf: Add OFPBUF_DPDK type. utils: Introduce xsleep for RCU quiescent state dpif-netdev: Add DPDK netdev. netdev-dpdk: Use multiple core for dpdk IO. INSTALL | 1 + INSTALL.DPDK | 93 ++++ Makefile.am | 1 + acinclude.m4 | 26 + configure.ac | 1 + lib/automake.mk | 7 + lib/daemon.c | 2 +- lib/dpif-netdev.c | 429 ++++++++++----- lib/dpif-netdev.h | 48 ++ lib/dpif.c | 2 +- lib/netdev-bsd.c | 33 +- lib/netdev-dpdk.c | 1221 ++++++++++++++++++++++++++++++++++++++++++ lib/netdev-dpdk.h | 34 ++ lib/netdev-dummy.c | 116 ++-- lib/netdev-linux.c | 100 ++-- lib/netdev-provider.h | 84 ++- lib/netdev.c | 89 +-- lib/netdev.h | 34 +- lib/odp-execute.c | 29 +- lib/odp-execute.h | 4 +- lib/ofpbuf.c | 17 +- lib/ofpbuf.h | 4 +- lib/util.c | 12 + lib/util.h | 1 + ofproto/ofproto-dpif-xlate.c | 2 +- vswitchd/ovs-vswitchd.c | 14 +- 26 files changed, 2039 insertions(+), 365 deletions(-) create mode 100644 INSTALL.DPDK create mode 100644 lib/dpif-netdev.h create mode 100644 lib/netdev-dpdk.c create mode 100644 lib/netdev-dpdk.h -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev