From: Pavan Nikhilesh <pbhagavat...@marvell.com> This patchset adds support for event mode in l3fwd. The poll mode is still the default mode of operation.
The following new command line parameters are added: --mode: Dictates the mode of operation either poll or event. If unset then by default poll mode is used. --eventq_sync: Dictates event synchronization mode i.e. either atomic or ordered. Based on event device capability the configuration is done as follows: - A single event device is enabled. - The number of event ports is equal to the number of worker cores enabled in the core mask. Additional event ports might be configured based on Rx/Tx adapter capability. - The number of event queues is equal to the number of ethernet ports. If Tx adapter doesn't have internal port capability then an additional single link event queue is used to enqueue events to Tx adapter. - Each event port is linked to all existing event queues. - Dedicated Rx/Tx adapters for each Ethernet port. Pavan Nikhilesh (6): examples/l3fwd: add event device configuration examples/l3fwd: add event eth Rx/Tx adapter setup examples/l3fwd: add service core setup based on caps examples/l3fwd: add event lpm main loop examples/l3fwd: add event em main loop examples/l3fwd: add graceful teardown for eventdevice Sunil Kumar Kori (5): examples/l3fwd: add framework for event device examples/l3fwd: split pipelines based on capability examples/l3fwd: add ethdev setup based on eventdev examples/l3fwd: add event port and queue setup doc: update l3fwd user guide to support eventdev doc/guides/sample_app_ug/l3_forward.rst | 76 +++- examples/l3fwd/Makefile | 3 +- examples/l3fwd/l3fwd.h | 38 ++ examples/l3fwd/l3fwd_em.c | 151 ++++++++ examples/l3fwd/l3fwd_em.h | 159 +++++--- examples/l3fwd/l3fwd_em_hlm.h | 131 +++++++ examples/l3fwd/l3fwd_em_sequential.h | 26 ++ examples/l3fwd/l3fwd_eventdev.c | 356 ++++++++++++++++++ examples/l3fwd/l3fwd_eventdev.h | 116 ++++++ examples/l3fwd/l3fwd_eventdev_generic.c | 222 +++++++++++ examples/l3fwd/l3fwd_eventdev_internal_port.c | 197 ++++++++++ examples/l3fwd/l3fwd_lpm.c | 205 ++++++++++ examples/l3fwd/main.c | 202 ++++++++-- examples/l3fwd/meson.build | 5 +- 14 files changed, 1802 insertions(+), 85 deletions(-) create mode 100644 examples/l3fwd/l3fwd_eventdev.c create mode 100644 examples/l3fwd/l3fwd_eventdev.h create mode 100644 examples/l3fwd/l3fwd_eventdev_generic.c create mode 100644 examples/l3fwd/l3fwd_eventdev_internal_port.c -- 2.17.1