app/pipeline: packet framework benchmark
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Wed, 4 Jun 2014 18:08:37 +0000 (19:08 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 17 Jun 2014 01:34:11 +0000 (03:34 +0200)
commit48f31ca50cc4b1c4e1b2dc073189f3603aae85cc
treeca937015de073ebb6c36f250e11758acee874864
parenteaafbad419bf224fe656f5edeb99f5ca33199835
app/pipeline: packet framework benchmark

This application is purposefully built to benchmark the performance
of the Intel DPDK Packet Framework toolbox.

It uses 3 CPU cores connected in a chain through SW rings
(NICs --> Core A --> Core B --> Core C --> NICs)
1. Core A: reads packets from NIC ports and writes them to SW queues;
2. Core B: instantiates a Packet Framework pipeline that uses ring reader
   input ports, a table whose type is selected trhough command line arguments
   (--none, --stub, --lpm, --acl, --hash[-spec]-KEYSZ-TYPE, with KEYSZ as
   8, 16 or 32 bytes and TYPE as ext (Extendible bucket) or lru (LRU))
   and ring writers output ports;
3. Core C: reads packets from SW rings and writes them to NIC ports.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
Acked-by: Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com>
Acked by: Ivan Boule <ivan.boule@6wind.com>
[Thomas: remove dedicated build option]
12 files changed:
app/Makefile
app/test-pipeline/Makefile [new file with mode: 0644]
app/test-pipeline/config.c [new file with mode: 0644]
app/test-pipeline/init.c [new file with mode: 0644]
app/test-pipeline/main.c [new file with mode: 0644]
app/test-pipeline/main.h [new file with mode: 0644]
app/test-pipeline/pipeline_acl.c [new file with mode: 0644]
app/test-pipeline/pipeline_hash.c [new file with mode: 0644]
app/test-pipeline/pipeline_lpm.c [new file with mode: 0644]
app/test-pipeline/pipeline_lpm_ipv6.c [new file with mode: 0644]
app/test-pipeline/pipeline_stub.c [new file with mode: 0644]
app/test-pipeline/runtime.c [new file with mode: 0644]