* [PATCH] ethdev: fix indirect action convert
@ 2023-05-26 3:18 Suanming Mou
2023-05-29 6:12 ` Ori Kam
0 siblings, 1 reply; 3+ messages in thread
From: Suanming Mou @ 2023-05-26 3:18 UTC (permalink / raw)
To: Ori Kam, Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko; +Cc: dev
As indirect action conf fills the indirect action handler, while
converting indirect action, the action conf(action handler) should
be copied from original indirect action conf instead of duplicating
the action handler memory.
Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action")
Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
---
lib/ethdev/rte_flow.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 69e6e749f7..ff740f19a4 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -889,7 +889,15 @@ rte_flow_conv_actions(struct rte_flow_action *dst,
src -= num;
dst -= num;
do {
- if (src->conf) {
+ if (src->type == RTE_FLOW_ACTION_TYPE_INDIRECT) {
+ /*
+ * Indirect action conf fills the indirect action
+ * handler. Copy the action handle directly instead
+ * of duplicating the pointer memory.
+ */
+ if (size)
+ dst->conf = src->conf;
+ } else if (src->conf) {
off = RTE_ALIGN_CEIL(off, sizeof(double));
ret = rte_flow_conv_action_conf
((void *)(data + off),
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] ethdev: fix indirect action convert
2023-05-26 3:18 [PATCH] ethdev: fix indirect action convert Suanming Mou
@ 2023-05-29 6:12 ` Ori Kam
2023-05-31 13:57 ` Ferruh Yigit
0 siblings, 1 reply; 3+ messages in thread
From: Ori Kam @ 2023-05-29 6:12 UTC (permalink / raw)
To: Suanming Mou, NBU-Contact-Thomas Monjalon (EXTERNAL),
Ferruh Yigit, Andrew Rybchenko
Cc: dev
Hi Suanming,
> -----Original Message-----
> From: Suanming Mou <suanmingm@nvidia.com>
> Sent: Friday, May 26, 2023 6:18 AM
>
> As indirect action conf fills the indirect action handler, while
> converting indirect action, the action conf(action handler) should
> be copied from original indirect action conf instead of duplicating
> the action handler memory.
>
> Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action")
>
> Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
> ---
> lib/ethdev/rte_flow.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
> index 69e6e749f7..ff740f19a4 100644
> --- a/lib/ethdev/rte_flow.c
> +++ b/lib/ethdev/rte_flow.c
> @@ -889,7 +889,15 @@ rte_flow_conv_actions(struct rte_flow_action *dst,
> src -= num;
> dst -= num;
> do {
> - if (src->conf) {
> + if (src->type == RTE_FLOW_ACTION_TYPE_INDIRECT) {
> + /*
> + * Indirect action conf fills the indirect action
> + * handler. Copy the action handle directly instead
> + * of duplicating the pointer memory.
> + */
> + if (size)
> + dst->conf = src->conf;
> + } else if (src->conf) {
> off = RTE_ALIGN_CEIL(off, sizeof(double));
> ret = rte_flow_conv_action_conf
> ((void *)(data + off),
> --
> 2.25.1
Acked-by: Ori Kam <orika@nvidia.com>
Best,
Ori
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ethdev: fix indirect action convert
2023-05-29 6:12 ` Ori Kam
@ 2023-05-31 13:57 ` Ferruh Yigit
0 siblings, 0 replies; 3+ messages in thread
From: Ferruh Yigit @ 2023-05-31 13:57 UTC (permalink / raw)
To: Ori Kam, Suanming Mou, NBU-Contact-Thomas Monjalon (EXTERNAL),
Andrew Rybchenko
Cc: dev
On 5/29/2023 7:12 AM, Ori Kam wrote:
> Hi Suanming,
>
>> -----Original Message-----
>> From: Suanming Mou <suanmingm@nvidia.com>
>> Sent: Friday, May 26, 2023 6:18 AM
>>
>> As indirect action conf fills the indirect action handler, while
>> converting indirect action, the action conf(action handler) should
>> be copied from original indirect action conf instead of duplicating
>> the action handler memory.
>>
>> Fixes: 4b61b8774be9 ("ethdev: introduce indirect flow action")
>>
>> Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
>> ---
>> lib/ethdev/rte_flow.c | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
>> index 69e6e749f7..ff740f19a4 100644
>> --- a/lib/ethdev/rte_flow.c
>> +++ b/lib/ethdev/rte_flow.c
>> @@ -889,7 +889,15 @@ rte_flow_conv_actions(struct rte_flow_action *dst,
>> src -= num;
>> dst -= num;
>> do {
>> - if (src->conf) {
>> + if (src->type == RTE_FLOW_ACTION_TYPE_INDIRECT) {
>> + /*
>> + * Indirect action conf fills the indirect action
>> + * handler. Copy the action handle directly instead
>> + * of duplicating the pointer memory.
>> + */
>> + if (size)
>> + dst->conf = src->conf;
>> + } else if (src->conf) {
>> off = RTE_ALIGN_CEIL(off, sizeof(double));
>> ret = rte_flow_conv_action_conf
>> ((void *)(data + off),
>> --
>> 2.25.1
>
> Acked-by: Ori Kam <orika@nvidia.com>
>
Applied to dpdk-next-net/main, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-05-31 13:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-26 3:18 [PATCH] ethdev: fix indirect action convert Suanming Mou
2023-05-29 6:12 ` Ori Kam
2023-05-31 13:57 ` 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).