Hi,

I haven't checked it yet, but how does your code handles setting up lcore id's?

Zoli

On 29/01/16 11:14, Matias Elo wrote:
V2:
- Check the number of mbuf segments in mbuf_to_pkt() (Zoltan Kiss)
- Copy DPDK RSS hash to ODP packet header in mbuf_to_pkt() (Zoltan Kiss)
- Compare packet length to MTU value in pkt_to_mbuf() and drop too long packets

This patch set 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   |  69 ++
  .../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                | 855 +++++++++++++++++++++
  platform/linux-generic/pktio/io_ops.c              |   3 +
  10 files changed, 1047 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

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to