[v3] ethdev: add indirect list METER_MARK flow update structure

Message ID 20230528162124.72626-1-getelson@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [v3] ethdev: add indirect list METER_MARK flow update structure |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS

Commit Message

Gregory Etelson May 28, 2023, 4:21 p.m. UTC
  Indirect list API defines 2 types of action update:
• Action mutable context is always shared between all flows
  that referenced indirect actions list handle.
  Action mutable context can be changed by explicit invocation
  of indirect handle update function.
• Flow mutable context is private to a flow.
  Flow mutable context can be updated by indirect list handle
  flow rule configuration.

The patch defines `struct rte_flow_indirect_update_flow_meter_mark`
for indirect METER_MARK flow mutable updates.

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
---
Depends-on: patch-127638 ("ethdev: add indirect list flow action")
---
 lib/ethdev/rte_flow.h | 11 +++++++++++
 1 file changed, 11 insertions(+)
  

Comments

Ori Kam May 29, 2023, 6:11 a.m. UTC | #1
Hi Gregory

> -----Original Message-----
> From: Gregory Etelson <getelson@nvidia.com>
> Sent: Sunday, May 28, 2023 7:21 PM
> To: dev@dpdk.org
> 
> Indirect list API defines 2 types of action update:
> • Action mutable context is always shared between all flows
>   that referenced indirect actions list handle.
>   Action mutable context can be changed by explicit invocation
>   of indirect handle update function.
> • Flow mutable context is private to a flow.
>   Flow mutable context can be updated by indirect list handle
>   flow rule configuration.
> 
> The patch defines `struct rte_flow_indirect_update_flow_meter_mark`
> for indirect METER_MARK flow mutable updates.
> 
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> ---
> Depends-on: patch-127638 ("ethdev: add indirect list flow action")
> ---
>  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

Acked-by: Ori Kam <orika@nvidia.com>
Best,
Ori
  
Ferruh Yigit May 31, 2023, 7:43 a.m. UTC | #2
On 5/29/2023 7:11 AM, Ori Kam wrote:
> Hi Gregory
> 
>> -----Original Message-----
>> From: Gregory Etelson <getelson@nvidia.com>
>> Sent: Sunday, May 28, 2023 7:21 PM
>> To: dev@dpdk.org
>>
>> Indirect list API defines 2 types of action update:
>> • Action mutable context is always shared between all flows
>>   that referenced indirect actions list handle.
>>   Action mutable context can be changed by explicit invocation
>>   of indirect handle update function.
>> • Flow mutable context is private to a flow.
>>   Flow mutable context can be updated by indirect list handle
>>   flow rule configuration.
>>
>> The patch defines `struct rte_flow_indirect_update_flow_meter_mark`
>> for indirect METER_MARK flow mutable updates.
>>
>> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
>> ---
>> Depends-on: patch-127638 ("ethdev: add indirect list flow action")
>> ---
>>  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
> 
> Acked-by: Ori Kam <orika@nvidia.com>
> 

Applied to dpdk-next-net/main, thanks.
  

Patch

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;