DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] ethdev: add indirect list METER_MARK update structures
@ 2023-05-28 15:56 Gregory Etelson
  2023-05-28 16:12 ` [PATCH v2] ethdev: add indirect list METER_MARK flow update structure Gregory Etelson
  2023-05-28 16:21 ` [PATCH v3] " Gregory Etelson
  0 siblings, 2 replies; 5+ messages in thread
From: Gregory Etelson @ 2023-05-28 15:56 UTC (permalink / raw)
  To: dev
  Cc: getelson, mkashani, rasland, Ori Kam, Thomas Monjalon,
	Ferruh Yigit, Andrew Rybchenko

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 <getelson@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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2] ethdev: add indirect list METER_MARK flow update structure
  2023-05-28 15:56 [PATCH] ethdev: add indirect list METER_MARK update structures Gregory Etelson
@ 2023-05-28 16:12 ` Gregory Etelson
  2023-05-28 16:21 ` [PATCH v3] " Gregory Etelson
  1 sibling, 0 replies; 5+ messages in thread
From: Gregory Etelson @ 2023-05-28 16:12 UTC (permalink / raw)
  To: dev
  Cc: getelson, mkashani, rasland, Ori Kam, Thomas Monjalon,
	Ferruh Yigit, Andrew Rybchenko

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.

Depends-on: patch-127638 ("ethdev: add indirect list flow action")

Signed-off-by: Gregory Etelson <getelson@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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3] ethdev: add indirect list METER_MARK flow update structure
  2023-05-28 15:56 [PATCH] ethdev: add indirect list METER_MARK update structures Gregory Etelson
  2023-05-28 16:12 ` [PATCH v2] ethdev: add indirect list METER_MARK flow update structure Gregory Etelson
@ 2023-05-28 16:21 ` Gregory Etelson
  2023-05-29  6:11   ` Ori Kam
  1 sibling, 1 reply; 5+ messages in thread
From: Gregory Etelson @ 2023-05-28 16:21 UTC (permalink / raw)
  To: dev
  Cc: getelson, mkashani, rasland, Ori Kam, Thomas Monjalon,
	Ferruh Yigit, Andrew Rybchenko

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v3] ethdev: add indirect list METER_MARK flow update structure
  2023-05-28 16:21 ` [PATCH v3] " Gregory Etelson
@ 2023-05-29  6:11   ` Ori Kam
  2023-05-31  7:43     ` Ferruh Yigit
  0 siblings, 1 reply; 5+ messages in thread
From: Ori Kam @ 2023-05-29  6:11 UTC (permalink / raw)
  To: Gregory Etelson, dev
  Cc: Maayan Kashani, Raslan Darawsheh,
	NBU-Contact-Thomas Monjalon (EXTERNAL),
	Ferruh Yigit, Andrew Rybchenko

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3] ethdev: add indirect list METER_MARK flow update structure
  2023-05-29  6:11   ` Ori Kam
@ 2023-05-31  7:43     ` Ferruh Yigit
  0 siblings, 0 replies; 5+ messages in thread
From: Ferruh Yigit @ 2023-05-31  7:43 UTC (permalink / raw)
  To: Ori Kam, Gregory Etelson, dev
  Cc: Maayan Kashani, Raslan Darawsheh,
	NBU-Contact-Thomas Monjalon (EXTERNAL),
	Andrew Rybchenko

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.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-05-31  7:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-28 15:56 [PATCH] ethdev: add indirect list METER_MARK update structures Gregory Etelson
2023-05-28 16:12 ` [PATCH v2] ethdev: add indirect list METER_MARK flow update structure Gregory Etelson
2023-05-28 16:21 ` [PATCH v3] " Gregory Etelson
2023-05-29  6:11   ` Ori Kam
2023-05-31  7:43     ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).