> -----Original Message----- > From: Anoob Joseph <[email protected]> > Sent: Monday, June 3, 2019 11:02 PM > To: Jerin Jacob Kollanukkaran <[email protected]>; Nikhil Rao > <[email protected]>; Erik Gabriel Carrillo <[email protected]>; > Abhinandan Gujjar <[email protected]>; Bruce Richardson > <[email protected]>; Pablo de Lara > <[email protected]> > Cc: Anoob Joseph <[email protected]>; Narayana Prasad Raju Athreya > <[email protected]>; [email protected]; Lukas Bartosik > <[email protected]>; Pavan Nikhilesh Bhagavatula > <[email protected]>; Hemant Agrawal > <[email protected]>; Nipun Gupta <[email protected]>; Harry > van Haaren <[email protected]>; Mattias Rönnblom > <[email protected]>; Liang Ma <[email protected]> > Subject: [PATCH 04/39] examples/l2fwd-event: move global vars to common > header > > Moving global variables to common header for access from control plane and > data plane code. > > Signed-off-by: Anoob Joseph <[email protected]> > Signed-off-by: Lukasz Bartosik <[email protected]> > --- > examples/l2fwd-event/l2fwd_common.h | 26 > +++++++++++++++++++++++ > examples/l2fwd-event/main.c | 41 +++++++++++++++--------------------- > - > 2 files changed, 43 insertions(+), 24 deletions(-) > > diff --git a/examples/l2fwd-event/l2fwd_common.h b/examples/l2fwd- > event/l2fwd_common.h > index a7bb5af..55226f7 100644 > --- a/examples/l2fwd-event/l2fwd_common.h > +++ b/examples/l2fwd-event/l2fwd_common.h > @@ -5,6 +5,10 @@ > #ifndef _L2FWD_COMMON_H_ > #define _L2FWD_COMMON_H_ > > +#include <stdbool.h> > + > +#include <rte_common.h> > + > #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1 > > #define MAX_PKT_BURST 32 > @@ -34,4 +38,26 @@ struct l2fwd_port_statistics { > uint64_t dropped; > } __rte_cache_aligned; > > +volatile bool force_quit; > + > +int mac_updating; > + > +/* ethernet addresses of ports */ > +static struct rte_ether_addr l2fwd_ports_eth_addr[RTE_MAX_ETHPORTS]; > + > +/* mask of enabled ports */ > +static uint32_t l2fwd_enabled_port_mask; > + > +/* list of enabled ports */ > +static uint32_t l2fwd_dst_ports[RTE_MAX_ETHPORTS]; > + > +struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE]; > + > +struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS]; > + > +struct l2fwd_port_statistics port_statistics[RTE_MAX_ETHPORTS]; > + > +/* A tsc-based timer responsible for triggering statistics printout */ > +uint64_t timer_period;
Instead of moving global variables to other header file, IMO, it is better to create a structure with context and share with workers with rte_eal_mp_remote_launch() or so.

