> Add em main loop for handling events based on capabilities of the
> event device.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
> ---
> examples/l3fwd/l3fwd.h | 10 ++
> examples/l3fwd/l3fwd_em.c | 177 +++++++++++++++++++++++++++
> examples/l3fwd/l3fwd_em.h | 159 +++++++++++++++++-------
> examples/l3fwd/l3fwd_em_hlm.h | 131 ++++++++++++++++++++
> examples/l3fwd/l3fwd_em_sequential.h | 26 ++++
> examples/l3fwd/l3fwd_event.c | 9 ++
> examples/l3fwd/main.c | 5 +-
> 7 files changed, 470 insertions(+), 47 deletions(-)
>
> diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
> index 8f2e4be23..2d02fa731 100644
> --- a/examples/l3fwd/l3fwd.h
> +++ b/examples/l3fwd/l3fwd.h
> @@ -221,6 +221,16 @@ lpm_event_main_loop_tx_q(__attribute__((unused)) void
> *dummy);
> int
> lpm_event_main_loop_tx_q_burst(__attribute__((unused)) void *dummy);
>
> +int
> +em_event_main_loop_tx_d(__attribute__((unused)) void *dummy);
> +int
> +em_event_main_loop_tx_d_burst(__attribute__((unused)) void *dummy);
> +int
> +em_event_main_loop_tx_q(__attribute__((unused)) void *dummy);
> +int
> +em_event_main_loop_tx_q_burst(__attribute__((unused)) void *dummy);
Same question as for lpm: if your functions don't need params,
why not to define them as ones without params?
> +
> +
> /* Return ipv4/ipv6 fwd lookup struct for LPM or EM. */
> void *
> em_get_ipv4_l3fwd_lookup_struct(const int socketid);