Implements new DPDK pktio type, which operates in the same manner as the existing ODP interface types. DPDK mbuf packets are copied during receive/send to maintain compatibility with the linux-generic pktio.
The current unoptimized DPDK pktio implementation achieves forwarding rates (odp_l2fwd), which are comparable to netmap pktio and scale better with larger thread counts. Some initial benchmark results below (odp_l2fwd 4 x 10 Gbps - 64B, Intel Xeon E5-2697v3). Threads 1 2 4 6 8 10 12 DPDK 6.7 12 25.3 37.2 47.6 47.3 46.8 MPPS Netmap 6.1 12.6 25.8 32.4 38.9 38.6 38.4 From 8 threads and onwards the throughput is limited by the NICs (Intel 82599). Build and usage information can be found from DEPENDENCIES. The DPDK initialization code is copied from the odp-dpdk branch. Matias Elo (11): linux-generic: pktio: add DPDK pktio build support linux-generic: pktio: initial DPDK pktio implementation linux-generic: dpdk: add get/set functions for mtu, promisc mode, and capability linux-generic: dpdk: add rx/tx locking linux-generic: dpdk: add odp_pktio_link_status() linux-generic: dpdk: add dpdk_setup_port() linux-generic: dpdk: add functions for fetching packet input/output queues linux-generic: dpdk: add odp_pktio_input_queues_config() linux-generic: dpdk: add odp_pktio_output_queues_config() linux-generic: dpdk: handle ixgbe_pmd minimum burst size linux-generic: dpdk: close resources in odp_pktio_close() DEPENDENCIES | 54 ++ platform/linux-generic/Makefile.am | 2 + platform/linux-generic/include/odp_internal.h | 5 + platform/linux-generic/include/odp_packet_dpdk.h | 68 ++ .../linux-generic/include/odp_packet_io_internal.h | 3 + platform/linux-generic/m4/configure.m4 | 1 + platform/linux-generic/m4/odp_dpdk.m4 | 43 ++ platform/linux-generic/odp_init.c | 12 + platform/linux-generic/pktio/dpdk.c | 826 +++++++++++++++++++++ platform/linux-generic/pktio/io_ops.c | 3 + 10 files changed, 1017 insertions(+) create mode 100644 platform/linux-generic/include/odp_packet_dpdk.h create mode 100644 platform/linux-generic/m4/odp_dpdk.m4 create mode 100644 platform/linux-generic/pktio/dpdk.c -- 1.9.1 _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp