[dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Tue Dec 18 11:30:45 CET 2018



> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Monday, December 17, 2018 11:11 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>; Pattan, Reshma
> <reshma.pattan at intel.com>
> Cc: dev at dpdk.org; Ananyev, Konstantin <konstantin.ananyev at intel.com>;
> jerin.jacob at caviumnetworks.com; Singh, Jasvinder
> <jasvinder.singh at intel.com>; david.marchand at redhat.com
> Subject: Re: [dpdk-dev] [PATCH v2 2/3] eal: add new rte color definition
> 
> 17/12/2018 19:51, Dumitrescu, Cristian:
> > From: Pattan, Reshma
> > > From: Ananyev, Konstantin
> > > > From: Dumitrescu, Cristian
> > > > > From: Ananyev, Konstantin
> > > > > > > --- /dev/null
> > > > > > > +++ b/lib/librte_eal/common/include/rte_color.h
> > > > > > > +enum rte_color {
> > > > > > > +	RTE_COLOR_GREEN = 0, /**< Green */
> > > > > > > +	RTE_COLOR_YELLOW, /**< Yellow */
> > > > > > > +	RTE_COLOR_RED, /**< Red */
> > > > > > > +	RTE_COLORS /**< Number of colors */ };
> > > > > >
> > > > > > Does it really belong to EAL?
> > > > > > Konstantin
> > > > >
> > > > > Why not?
> > > > >
> > > > > It needs to be visible to multiple libraries: ethdev, meter, sched, as
> > > > > well as drivers. We'd like to avoid adding more complexity to
> > > dependencies
> > > > between libraries.
> > > > >
> > > > > It is very generic. EAL common/include is currently the place to put
> > > > > generic data structures, functions, algs, etc that are widely used by
> DPDK
> > > > libraries. Lots of similar examples are easy to find in this folder.
> > > >
> > > > I don't think it is *that* generic to be in EAL.
> > > > Yes it is used by few libs, ethdev and by softnic PMD,
> > > > but it doesn't look as core dpdk thing to me.
> > > >
> > > > >
> > > > > Where else would you put it?
> > > >
> > > > If it defines format of rte_mbuf fileds, then probably new .h inside
> > > librte_mbuf is
> > > > a good place.
> > > > Other alternatives would be rte_ethdev or rte_net.
> > >
> > > After going through the lib/Makefile dependencies, I see we can have
> > > rte_color.h in eal or mbuf library only.
> > > Cannot keep it inside ethdev or net libraries because these two libraries
> > > already have dependency  on mbuf library, so cannot create loop
> > > dependency.
> > >
> > > Snippet
> > >
> > > 1) DEPDIRS-librte_eal := librte_kvargs
> > >
> > > 2)DEPDIRS-librte_mbuf := librte_eal librte_mempool
> > >
> > > 3)DEPDIRS-librte_ethdev := librte_net librte_eal librte_mempool
> librte_ring
> > > DEPDIRS-librte_ethdev += librte_mbuf
> > > DEPDIRS-librte_ethdev += librte_kvargs
> > > DEPDIRS-librte_ethdev += librte_cmdline
> > >
> > > 4) DEPDIRS-librte_net := librte_mbuf librte_eal
> > >
> > > 5) DEPDIRS-librte_meter := librte_eal
> > >
> > > Thanks,
> > > Reshma
> >
> > Yes, I wound not mind to put this header file in librte_net, it makes sense
> to me. But librte_net depends on librte_mbuf, so then librte_net is not an
> option.
> >
> > The only two options are librte_eal and librte_mbuf. Between these two,
> my vote was librte_eal (as we already have plenty of similar items in
> librte_eal/common/include) instead of librte_mbuf, as to me the packet
> color is not related to how DPDK decides to pick its packet meta-data.
> >
> > To me, librte_eal/common/include is still the best option, but I guess I can
> live with librte_mbuf in case Konstantin has a hard opinion on it.
> >
> > What is your choice, Konstantin?
> 
> I replied in v3 that it should stay in rte_meter.h.

Strange, I did not see this reply from you ...

> You can include rte_meter.h in ethdev.

OK, thanks Thomas, makes sense to me as well.

> 
> The other option, agreed by Reshma, is to add black color ;)
> 
> Note: I did not see this discussion on v2 because the versions are
> not in the same thread. Have I already asked to use --in-reply-to please?
> 
> 



More information about the dev mailing list