Hi Reshma, > -----Original Message----- > From: Pattan, Reshma > Sent: Friday, December 7, 2018 2:32 PM > To: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitre...@intel.com>; > jerin.ja...@caviumnetworks.com; Singh, Jasvinder > <jasvinder.si...@intel.com> > Cc: Pattan, Reshma <reshma.pat...@intel.com> > Subject: [PATCH v2 2/3] eal: add new rte color definition > > Added new rte_color definition in eal to > consolidate color definition which is currently replicated > in various places such as rte_meter.h, rte_tm.h and rte_mtr.h > > Removed rte_tm_color and rte_mtr_color and used the new color > definition in rte_tm* and rte_mtr* files. > > Updated softnic and testpmd to use new color definition. > > Signed-off-by: Jasvinder Singh <jasvinder.si...@intel.com> > Signed-off-by: Reshma Pattan <reshma.pat...@intel.com> > --- > app/test-pmd/cmdline_mtr.c | 47 +++++++++++---------- > app/test-pmd/cmdline_tm.c | 23 +++++----- > drivers/net/softnic/rte_eth_softnic_flow.c | 10 +++-- > drivers/net/softnic/rte_eth_softnic_meter.c | 28 ++++++------ > drivers/net/softnic/rte_eth_softnic_tm.c | 31 ++++++++------ > lib/librte_eal/common/Makefile | 2 +- > lib/librte_eal/common/include/rte_color.h | 18 ++++++++ > lib/librte_ethdev/rte_mtr.c | 2 +- > lib/librte_ethdev/rte_mtr.h | 21 +++------ > lib/librte_ethdev/rte_mtr_driver.h | 2 +- > lib/librte_ethdev/rte_tm.h | 25 ++++------- > lib/librte_meter/rte_meter.h | 7 +++ > 12 files changed, 118 insertions(+), 98 deletions(-) > create mode 100644 lib/librte_eal/common/include/rte_color.h >
This patch should come first in the set, i.e. before the redefinition of the sched field in struct rte_mbuf, as it defines the format for the new sched color field. At this point, we should not remove the usage of rte_meter_color, rte_mtr_color, rte_mtr_color in any of the files using them, as this will break people's apps. We should first deprecate them by adding a deprecation note in the current release and then in one of the next releases (hopefully 19.5) remove them completely by replacing with the new rte_color, as you do in this patch. So, for now, please do not do this replacement in any of the above files. Bottom line: remove (for now) the above changes in the .c files of test-pmd, softnic, librte_ethdev; keep the above changes in the .h files such as rte_meter.h, rte_tm.h, rte_mtr.h. Makes sense? This patch should be very small :) <snip> > diff --git a/lib/librte_eal/common/include/rte_color.h > b/lib/librte_eal/common/include/rte_color.h > new file mode 100644 > index 000000000..f4387071b > --- /dev/null > +++ b/lib/librte_eal/common/include/rte_color.h > @@ -0,0 +1,18 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright(c) 2018 Intel Corporation > + */ > + > +#ifndef _RTE_COLOR_H_ > +#define _RTE_COLOR_H_ > + > +/** > + * Color > + */ > +enum rte_color { > + RTE_COLOR_GREEN = 0, /**< Green */ > + RTE_COLOR_YELLOW, /**< Yellow */ > + RTE_COLOR_RED, /**< Red */ > + RTE_COLORS /**< Number of colors */ > +}; > + > +#endif /* _RTE_COLOR_H_ */ Please add the C++ pattern at the beginning and end of this file: #ifndef __INCLUDE_RTE_COLOR__ #define __INCLUDE_RTE_COLOR__ #ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif #endif <snip> > diff --git a/lib/librte_ethdev/rte_mtr.h b/lib/librte_ethdev/rte_mtr.h > index c4819b274..113db06a9 100644 > --- a/lib/librte_ethdev/rte_mtr.h > +++ b/lib/librte_ethdev/rte_mtr.h > @@ -76,21 +76,12 @@ > #include <stdint.h> > #include <rte_compat.h> > #include <rte_common.h> > +#include <rte_color.h> > > #ifdef __cplusplus > extern "C" { > #endif > > -/** > - * Color > - */ > -enum rte_mtr_color { > - RTE_MTR_GREEN = 0, /**< Green */ > - RTE_MTR_YELLOW, /**< Yellow */ > - RTE_MTR_RED, /**< Red */ > - RTE_MTR_COLORS /**< Number of colors. */ > -}; > - We should not use rte_color yet, we should simply create alias of current rte_mtr_color enum and values to the new rte_color enum and enum values, just like you do it below for rte_meter.h. So please remove the rest of the changes for now. <snip> > diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h > index 646ef3880..95f322313 100644 > --- a/lib/librte_ethdev/rte_tm.h > +++ b/lib/librte_ethdev/rte_tm.h > @@ -51,6 +51,7 @@ > #include <stdint.h> > > #include <rte_common.h> > +#include <rte_color.h> > > #ifdef __cplusplus > extern "C" { > @@ -115,16 +116,6 @@ extern "C" { > */ > #define RTE_TM_NODE_LEVEL_ID_ANY UINT32_MAX > > -/** > - * Color > - */ > -enum rte_tm_color { > - RTE_TM_GREEN = 0, /**< Green */ > - RTE_TM_YELLOW, /**< Yellow */ > - RTE_TM_RED, /**< Red */ > - RTE_TM_COLORS /**< Number of colors */ > -}; > - We should not use rte_color yet, we should simply create alias of current rte_tm_color enum and values to the new rte_color enum and enum values, just like you do it below for rte_meter.h. So please remove the rest of the changes for now. <snip> > diff --git a/lib/librte_meter/rte_meter.h b/lib/librte_meter/rte_meter.h > index 58a051583..e6187c49d 100644 > --- a/lib/librte_meter/rte_meter.h > +++ b/lib/librte_meter/rte_meter.h > @@ -21,6 +21,7 @@ extern "C" { > > #include <stdint.h> > > +#include <rte_color.h> > /* > * Application Programmer's Interface (API) > * > @@ -34,6 +35,12 @@ enum rte_meter_color { > e_RTE_METER_COLORS /**< Number of available colors */ > }; > > +/* New rte_color is defined and used to deprecate rte_meter_color soon. > */ > +#define rte_meter_color rte_color > +#define e_RTE_METER_GREEN RTE_COLOR_GREEN > +#define e_RTE_METER_YELLOW RTE_COLOR_YELLOW > +#define e_RTE_METER_RED RTE_COLOR_RED > + > /** srTCM parameters per metered traffic flow. The CIR, CBS and EBS > parameters only > count bytes of IP packets and do not include link specific headers. At least > one of > the CBS or EBS parameters has to be greater than zero. */ > -- > 2.17.1 The changes for rte_meter.h are perfect, please do the same to rte_mtr.h and rte_tm.h. Regards, Cristian