Hi Gregory, > -----Original Message----- > From: Gregory Etelson <getel...@nvidia.com> > Sent: Thursday, May 25, 2023 11:12 AM > > In the indirect list API, update action and update flow contexts > are mutually exclusive. > The patch splits legacy METER_MASK update structure to support > indirect list API: > > `struct rte_flow_indirect_update_action_meter_mark` defines > METER_MARK > action context that is shared between all flows that reference a given > indirect list handle. > > `struct rte_flow_indirect_update_flow_meter_mark` defines METER_MARK > context private to specific flow. > > Signed-off-by: Gregory Etelson <getel...@nvidia.com> > --- > lib/ethdev/rte_flow.h | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h > index a0d01a97e7..ce1aa336f2 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3891,6 +3891,38 @@ struct rte_flow_update_meter_mark { > uint32_t reserved:27; > }; > > +/** > + * @see RTE_FLOW_ACTION_TYPE_METER_MARK > + * @see RTE_FLOW_ACTION_TYPE_INDIRECT_LIST > + * > + * Update action mutable context. > + */ > +struct rte_flow_indirect_update_action_meter_mark { > + /** New meter_mark parameters to be updated. */ > + struct rte_flow_action_meter_mark meter_mark; > + /** The profile will be updated. */ > + uint32_t profile_valid:1; > + /** The policy will be updated. */ > + uint32_t policy_valid:1; > + /** The color mode will be updated. */ > + uint32_t color_mode_valid:1; > + /** The meter state will be updated. */ > + uint32_t state_valid:1; > + /** Reserved bits for the future usage. */ > + uint32_t reserved:28; > +}; > +
Why did you create new meter_mark structure? > +/** > + * @see RTE_FLOW_ACTION_TYPE_METER_MARK > + * @see RTE_FLOW_ACTION_TYPE_INDIRECT_LIST > + * > + * Update flow mutable context. > + */ > +struct rte_flow_indirect_update_flow_meter_mark { > + /** Updated init color applied to packet */ > + enum rte_color init_color; > +}; > + > /* Mbuf dynamic field offset for metadata. */ > extern int32_t rte_flow_dynf_metadata_offs; > > -- > 2.34.1 Best, Ori