[ovs-dev] [PATCH v9 1/1] netdev-offload-dpdk: Replace action PORT_ID with REPRESENTED_PORT.

2024-01-15 Thread Ivan Malov via dev
Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.

Signed-off-by: Ivan Malov 
---
 v8: split from 
https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html
 v9: address warnings by 0-robot regarding the summary line

 lib/netdev-offload-dpdk.c | 30 +-
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index 992627fa2..623005b1c 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -735,14 +735,15 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
 ds_put_cstr(s, "rss / ");
 } else if (actions->type == RTE_FLOW_ACTION_TYPE_COUNT) {
 ds_put_cstr(s, "count / ");
-} else if (actions->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {
-const struct rte_flow_action_port_id *port_id = actions->conf;
+} else if (actions->type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) {
+const struct rte_flow_action_ethdev *ethdev = actions->conf;
 
-ds_put_cstr(s, "port_id ");
-if (port_id) {
-ds_put_format(s, "original %d id %d ",
-  port_id->original, port_id->id);
+ds_put_cstr(s, "represented_port ");
+
+if (ethdev) {
+ds_put_format(s, "ethdev_port_id %d ", ethdev->port_id);
 }
+
 ds_put_cstr(s, "/ ");
 } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) {
 ds_put_cstr(s, "drop / ");
@@ -1776,19 +1777,22 @@ add_count_action(struct flow_actions *actions)
 }
 
 static int
-add_port_id_action(struct flow_actions *actions,
-   struct netdev *outdev)
+add_represented_port_action(struct flow_actions *actions,
+struct netdev *outdev)
 {
-struct rte_flow_action_port_id *port_id;
+struct rte_flow_action_ethdev *ethdev;
 int outdev_id;
 
 outdev_id = netdev_dpdk_get_port_id(outdev);
 if (outdev_id < 0) {
 return -1;
 }
-port_id = xzalloc(sizeof *port_id);
-port_id->id = outdev_id;
-add_flow_action(actions, RTE_FLOW_ACTION_TYPE_PORT_ID, port_id);
+
+ethdev = xzalloc(sizeof *ethdev);
+ethdev->port_id = outdev_id;
+
+add_flow_action(actions, RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, ethdev);
+
 return 0;
 }
 
@@ -1808,7 +1812,7 @@ add_output_action(struct netdev *netdev,
 return -1;
 }
 if (!netdev_flow_api_equals(netdev, outdev) ||
-add_port_id_action(actions, outdev)) {
+add_represented_port_action(actions, outdev)) {
 VLOG_DBG_RL(&rl, "%s: Output to port \'%s\' cannot be offloaded.",
 netdev_get_name(netdev), netdev_get_name(outdev));
 ret = -1;
-- 
2.20.1

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v9 1/1] netdev-offload-dpdk: Replace action PORT_ID with REPRESENTED_PORT.

2024-01-16 Thread Kevin Traynor
On 16/01/2024 01:42, Ivan Malov via dev wrote:
> Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.
> 
> Signed-off-by: Ivan Malov 

nit: checkpatch complains about the length of the title but I think it's
fine as it's due to the terms and shortening would make it less
understandable.

I didn't test as I don't have a setup ready, but reviewed code and
confirmed that nfp support [0] is included in DPDK 23.11.

Acked-by: Kevin Traynor 

[0] 010b8fa897 net/nfp: support represented port flow action

> ---
>  v8: split from 
> https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html
>  v9: address warnings by 0-robot regarding the summary line
> 
>  lib/netdev-offload-dpdk.c | 30 +-
>  1 file changed, 17 insertions(+), 13 deletions(-)
> 
> diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
> index 992627fa2..623005b1c 100644
> --- a/lib/netdev-offload-dpdk.c
> +++ b/lib/netdev-offload-dpdk.c
> @@ -735,14 +735,15 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
>  ds_put_cstr(s, "rss / ");
>  } else if (actions->type == RTE_FLOW_ACTION_TYPE_COUNT) {
>  ds_put_cstr(s, "count / ");
> -} else if (actions->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {
> -const struct rte_flow_action_port_id *port_id = actions->conf;
> +} else if (actions->type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) {
> +const struct rte_flow_action_ethdev *ethdev = actions->conf;
>  
> -ds_put_cstr(s, "port_id ");
> -if (port_id) {
> -ds_put_format(s, "original %d id %d ",
> -  port_id->original, port_id->id);
> +ds_put_cstr(s, "represented_port ");
> +
> +if (ethdev) {
> +ds_put_format(s, "ethdev_port_id %d ", ethdev->port_id);
>  }
> +
>  ds_put_cstr(s, "/ ");
>  } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) {
>  ds_put_cstr(s, "drop / ");
> @@ -1776,19 +1777,22 @@ add_count_action(struct flow_actions *actions)
>  }
>  
>  static int
> -add_port_id_action(struct flow_actions *actions,
> -   struct netdev *outdev)
> +add_represented_port_action(struct flow_actions *actions,
> +struct netdev *outdev)
>  {
> -struct rte_flow_action_port_id *port_id;
> +struct rte_flow_action_ethdev *ethdev;
>  int outdev_id;
>  
>  outdev_id = netdev_dpdk_get_port_id(outdev);
>  if (outdev_id < 0) {
>  return -1;
>  }
> -port_id = xzalloc(sizeof *port_id);
> -port_id->id = outdev_id;
> -add_flow_action(actions, RTE_FLOW_ACTION_TYPE_PORT_ID, port_id);
> +
> +ethdev = xzalloc(sizeof *ethdev);
> +ethdev->port_id = outdev_id;
> +
> +add_flow_action(actions, RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, ethdev);
> +
>  return 0;
>  }
>  
> @@ -1808,7 +1812,7 @@ add_output_action(struct netdev *netdev,
>  return -1;
>  }
>  if (!netdev_flow_api_equals(netdev, outdev) ||
> -add_port_id_action(actions, outdev)) {
> +add_represented_port_action(actions, outdev)) {
>  VLOG_DBG_RL(&rl, "%s: Output to port \'%s\' cannot be offloaded.",
>  netdev_get_name(netdev), netdev_get_name(outdev));
>  ret = -1;

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v9 1/1] netdev-offload-dpdk: Replace action PORT_ID with REPRESENTED_PORT.

2024-01-16 Thread Kevin Traynor
On 16/01/2024 17:19, Kevin Traynor wrote:
> On 16/01/2024 01:42, Ivan Malov via dev wrote:
>> Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.
>>
>> Signed-off-by: Ivan Malov 
> 
> nit: checkpatch complains about the length of the title but I think it's
> fine as it's due to the terms and shortening would make it less
> understandable.
> 

Actually, nevermind - it is including the [PATCH] prefix here.

> I didn't test as I don't have a setup ready, but reviewed code and
> confirmed that nfp support [0] is included in DPDK 23.11.
> 
> Acked-by: Kevin Traynor 
> 
> [0] 010b8fa897 net/nfp: support represented port flow action
> 
>> ---
>>  v8: split from 
>> https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html
>>  v9: address warnings by 0-robot regarding the summary line
>>
>>  lib/netdev-offload-dpdk.c | 30 +-
>>  1 file changed, 17 insertions(+), 13 deletions(-)
>>
>> diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
>> index 992627fa2..623005b1c 100644
>> --- a/lib/netdev-offload-dpdk.c
>> +++ b/lib/netdev-offload-dpdk.c
>> @@ -735,14 +735,15 @@ dump_flow_action(struct ds *s, struct ds *s_extra,
>>  ds_put_cstr(s, "rss / ");
>>  } else if (actions->type == RTE_FLOW_ACTION_TYPE_COUNT) {
>>  ds_put_cstr(s, "count / ");
>> -} else if (actions->type == RTE_FLOW_ACTION_TYPE_PORT_ID) {
>> -const struct rte_flow_action_port_id *port_id = actions->conf;
>> +} else if (actions->type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) {
>> +const struct rte_flow_action_ethdev *ethdev = actions->conf;
>>  
>> -ds_put_cstr(s, "port_id ");
>> -if (port_id) {
>> -ds_put_format(s, "original %d id %d ",
>> -  port_id->original, port_id->id);
>> +ds_put_cstr(s, "represented_port ");
>> +
>> +if (ethdev) {
>> +ds_put_format(s, "ethdev_port_id %d ", ethdev->port_id);
>>  }
>> +
>>  ds_put_cstr(s, "/ ");
>>  } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) {
>>  ds_put_cstr(s, "drop / ");
>> @@ -1776,19 +1777,22 @@ add_count_action(struct flow_actions *actions)
>>  }
>>  
>>  static int
>> -add_port_id_action(struct flow_actions *actions,
>> -   struct netdev *outdev)
>> +add_represented_port_action(struct flow_actions *actions,
>> +struct netdev *outdev)
>>  {
>> -struct rte_flow_action_port_id *port_id;
>> +struct rte_flow_action_ethdev *ethdev;
>>  int outdev_id;
>>  
>>  outdev_id = netdev_dpdk_get_port_id(outdev);
>>  if (outdev_id < 0) {
>>  return -1;
>>  }
>> -port_id = xzalloc(sizeof *port_id);
>> -port_id->id = outdev_id;
>> -add_flow_action(actions, RTE_FLOW_ACTION_TYPE_PORT_ID, port_id);
>> +
>> +ethdev = xzalloc(sizeof *ethdev);
>> +ethdev->port_id = outdev_id;
>> +
>> +add_flow_action(actions, RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, ethdev);
>> +
>>  return 0;
>>  }
>>  
>> @@ -1808,7 +1812,7 @@ add_output_action(struct netdev *netdev,
>>  return -1;
>>  }
>>  if (!netdev_flow_api_equals(netdev, outdev) ||
>> -add_port_id_action(actions, outdev)) {
>> +add_represented_port_action(actions, outdev)) {
>>  VLOG_DBG_RL(&rl, "%s: Output to port \'%s\' cannot be offloaded.",
>>  netdev_get_name(netdev), netdev_get_name(outdev));
>>  ret = -1;
> 

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v9 1/1] netdev-offload-dpdk: Replace action PORT_ID with REPRESENTED_PORT.

2024-01-16 Thread Ilya Maximets
On 1/16/24 19:21, Kevin Traynor wrote:
> On 16/01/2024 17:19, Kevin Traynor wrote:
>> On 16/01/2024 01:42, Ivan Malov via dev wrote:
>>> Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.
>>>
>>> Signed-off-by: Ivan Malov 
>>
>> nit: checkpatch complains about the length of the title but I think it's
>> fine as it's due to the terms and shortening would make it less
>> understandable.
>>
> 
> Actually, nevermind - it is including the [PATCH] prefix here.
> 
>> I didn't test as I don't have a setup ready, but reviewed code and
>> confirmed that nfp support [0] is included in DPDK 23.11.
>>
>> Acked-by: Kevin Traynor 
>>
>> [0] 010b8fa897 net/nfp: support represented port flow action
>>
>>> ---
>>>  v8: split from 
>>> https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html
>>>  v9: address warnings by 0-robot regarding the summary line

Thanks, Ivan and Kevin!

Applied.

Best regards, Ilya Maximets.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v9 1/1] netdev-offload-dpdk: Replace action PORT_ID with REPRESENTED_PORT.

2024-01-17 Thread Simon Horman
On Tue, Jan 16, 2024 at 05:42:55AM +0400, Ivan Malov via dev wrote:
> Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.
> 
> Signed-off-by: Ivan Malov 

I did a quick check in drivers, and I think that in v23.11 each driver that
uses RTE_FLOW_ACTION_TYPE_PORT_ID has appropriate support for
RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT.

However, I don't think that is the case for v22.11.
So assuming the DPDK version is v23.11 [1], I am happy with this patch.

Acked-by: Simon Horman 

[1] 
https://patchwork.ozlabs.org/project/openvswitch/patch/20240115142814.3646692-1-david.march...@redhat.com/

> ---
>  v8: split from 
> https://mail.openvswitch.org/pipermail/ovs-dev/2023-June/406049.html
>  v9: address warnings by 0-robot regarding the summary line
> 
>  lib/netdev-offload-dpdk.c | 30 +-
>  1 file changed, 17 insertions(+), 13 deletions(-)

...
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev