Hi Adrien, > -----Original Message----- > From: Adrien Mazarguil [mailto:adrien.mazarg...@6wind.com] > Sent: Wednesday, September 6, 2017 5:23 PM > To: Dumitrescu, Cristian <cristian.dumitre...@intel.com> > Cc: dev@dpdk.org; tho...@monjalon.net; > jerin.ja...@caviumnetworks.com; hemant.agra...@nxp.com > Subject: Re: [PATCH 3/3] rte_flow: add new action for traffic metering and > policing > > Hi Cristian, > > This commit should probably come first in the series since the rest relies > on it, right? >
Yes, will do in V2. > Subject line does not conform past commits, it should start with "ethdev:" > and not mention "rte_flow" (use "flow API"). > Yes, sir! > On Sat, Aug 26, 2017 at 01:06:13AM +0100, Cristian Dumitrescu wrote: > > Signed-off-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> > > A short description of what this new item does and why it's added is > necessary. Context provided by the rest of the series will not always be > available. > Yes, will add here the relevant description, which is currently only in the cover letter. > More comments below. > > > --- > > lib/librte_ether/rte_flow.h | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h > > index bba6169..5569a87 100644 > > --- a/lib/librte_ether/rte_flow.h > > +++ b/lib/librte_ether/rte_flow.h > > @@ -915,6 +915,14 @@ enum rte_flow_action_type { > > * See struct rte_flow_action_vf. > > */ > > RTE_FLOW_ACTION_TYPE_VF, > > + > > + /** > > + * Traffic metering and policing (MTR). > > + * > > + * See struct rte_flow_action_meter. > > + * See file rte_mtr.h for MTR object configuration. > > + */ > > + RTE_FLOW_ACTION_TYPE_METER, > > }; > > > > /** > > @@ -1008,6 +1016,20 @@ struct rte_flow_action_vf { > > }; > > > > /** > > + * RTE_FLOW_ACTION_TYPE_METER > > + * > > + * Traffic metering and policing (MTR). > > + * > > + * Packets matched by items of this type can be either dropped or passed > to the > > + * next item with their color set by the MTR object. > > + * > > + * Non-terminating by default. > > + */ > > +struct rte_flow_action_meter { > > + uint32_t mtr_id; /**< MTR object ID created with rte_mtr_create(). > */ > > +}; > > + > > Default mask definition is missing. > I do not understand this comment. This is a flow action, not a flow item (that might be a packet field with an associated mask); this mtr_id is similar to queue ID/index/VF ID from other flow actions, none having any mask attached. Adrien, can you please clarify? > > +/** > > * Definition of a single action. > > * > > * A list of actions is terminated by a END action. > > -- > > 2.7.4 > > > > Even if MTR is a separate API, please add to this commit: > > - Documentation update: guides/prog_guide/rte_flow.rst > - Testpmd update: app/test-pmd/cmdline_flow.c > - Testpmd documentation update: > doc/guides/testpmd_app_ug/testpmd_funcs.rst > > You can find examples in previous commits related to rte_flow. > All of these items are a must and will get done, but do they have to be done in the same patch set? My plan was to introduce test-pmd updates through separate patch sets after the API is accepted. I know you had these items done in the same patch set for rte_flow, but there are other APIs such as eventdev and ethdev traffic management which introduced sample app one release later. > -- > Adrien Mazarguil > 6WIND Regards, Cristian