On Thu, Dec 07, 2017 at 04:41:04PM -0800, Ferruh Yigit wrote: > On 11/28/2017 6:58 AM, Pavan Nikhilesh wrote: > > The channel to port id map is used by event octeontx to map the received > > wqe to the respective ethdev port. > > > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> > > <...> > > > @@ -52,12 +52,18 @@ > > #define OCTEONTX_VDEV_NR_PORT_ARG ("nr_port") > > #define OCTEONTX_MAX_NAME_LEN 32 > > > > +#define OCTEONTX_MAX_BGX_PORTS 4 > > +#define OCTEONTX_MAX_LMAC_PER_BGX 4 > > + > > static inline struct octeontx_nic * > > octeontx_pmd_priv(struct rte_eth_dev *dev) > > { > > return dev->data->dev_private; > > } > > > > +uint16_t __rte_cache_aligned > > +octeontx_pchan_map[OCTEONTX_MAX_BGX_PORTS][OCTEONTX_MAX_LMAC_PER_BGX]; > > defining global variable in header is generally not good a idea, is there a > reason why not variable defined in octeontx_ethdev.c and exported here, so > that > both octeontx ethdev and eventdev can use it?
The reason extern definition in .h and declaration in .c is not done is that it would break shared compilation. The other approach is to do it in octeontx_mempool area but it wouldnt make sense. I could use the mempool approach if it sounds good to you (or) let me know if any alternate approach comes to your mind. > > btw, is build time dependency between octeontx ethdev and eventdev documented > somewhere? Currently, there is no build time dependency between event_octeontx and eth_octeontx i.e everything builds fine with CONFIG_RTE_LIBRTE_OCTEONTX_PMD=n. Thanks, Pavan