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
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp