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. Depends-on: patch-127638 ("ethdev: add indirect list flow action") Signed-off-by: Gregory Etelson <getel...@nvidia.com> --- lib/ethdev/rte_flow.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index 71727883ad..750df8401d 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3891,6 +3891,17 @@ 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 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