> -----Original Message-----
> From: Alexander Kozyrev <akozy...@nvidia.com>
> Sent: Wednesday, May 18, 2022 5:35 AM
> To: dev@dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitre...@intel.com>;
> jerinjac...@gmail.com; or...@nvidia.com; tho...@monjalon.net;
> ivan.ma...@oktetlabs.ru; andrew.rybche...@oktetlabs.ru;
> ferruh.yi...@xilinx.com; Awal, Mohammad Abdul
> <mohammad.abdul.a...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>;
> jer...@marvell.com; ajit.khapa...@broadcom.com; Richardson, Bruce
> <bruce.richard...@intel.com>
> Subject: [PATCH 2/4] ethdev: allow meter color marker modification
> 
> Extend modify_field Flow API with support of Meter Color Marker
> modifications. It allows setting the DS field of a packet to any
> color marker: green, yellow or red. User is able to specify
> an initial packet color for Meter API or create simple Metering
> and Marking flow rules based on his own coloring alghorithm.
> 
> Signed-off-by: Alexander Kozyrev <akozy...@nvidia.com>
> ---
>  doc/guides/rel_notes/release_22_07.rst | 1 +
>  lib/ethdev/rte_flow.h                  | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/release_22_07.rst
> b/doc/guides/rel_notes/release_22_07.rst
> index a61a4d77dc..ec83178d98 100644
> --- a/doc/guides/rel_notes/release_22_07.rst
> +++ b/doc/guides/rel_notes/release_22_07.rst
> @@ -63,6 +63,7 @@ New Features
>  * **Extended Metering and Marking support in the Flow API.**
> 
>    * Added METER_COLOR item to match Color Marker set by a Meter.
> +  * Added ability to set Color Marker via modify_field Flow API.
> 
>  * **Updated Intel iavf driver.**
> 
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index e3f0e86eb6..817df34ed0 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -3714,6 +3714,7 @@ enum rte_flow_field_id {
>       RTE_FLOW_FIELD_META,            /**< Metadata value. */
>       RTE_FLOW_FIELD_POINTER,         /**< Memory pointer. */
>       RTE_FLOW_FIELD_VALUE,           /**< Immediate value. */
> +     RTE_FLOW_FIELD_METER_COLOR,     /**< Meter Color Marker. */
>  };
> 
>  /**
> --
> 2.18.2

This is not really correct. The packet color is a sort if meta-data field that 
does not get sent out directly.

Yes, it can translate to a header field, but there are many possibilities: 
outer/inner VLAN PCP&DEI, IPv4/IPv6 DSCP, MPLS QoS, etc. We need to specify 
exactly which field from the packet needs to be modified.

We had the same problem for the input color mechanism, I suggest you take a 
look at Jerin's patch.

Reply via email to