Hello Ferruh,

Can you estimate when this patch will be merged into 21.11 ?

Thank you.

Regards,
Gregory

> -----Original Message-----
> From: Gregory Etelson <getel...@nvidia.com>
> Sent: Tuesday, November 2, 2021 14:24
> To: dev@dpdk.org; Gregory Etelson
> <getel...@nvidia.com>
> Cc: Matan Azrad <ma...@nvidia.com>; Raslan
> Darawsheh <rasl...@nvidia.com>;
> sta...@dpdk.org; Xiaoyun Li
> <xiaoyun...@intel.com>
> Subject: [PATCH] app/testpmd: fix tunnel offload
> validation
> 
> Tunnel offload API allows application to restore
> packet to
> its original form if chain of flows missed after
> DECAP action.
> The main idea of the tunnel offload API was to
> query port PMD
> to provide flow elements - actions or items.
> Flow elements supplied by PMD are merged with
> original flow rule
> elements provided by testpmd operator to
> create a new flow rule,
> optimal for PMD, to implement the tunnel
> offload API.
> That flow rule transformation is hidden form
> testpmd operator and uses
> internal testpmd resources.
> 
> Current testpmd did not release tunnel offload
> resources if flow rule
> validation failed.
> 
> The patch always releases tunnel offload
> resources after flow rule
> validation returns.
> 
> Cc: sta...@dpdk.org
> 
> Fixes: 1b9f274623b8 ("app/testpmd: add
> commands for tunnel offload")
> 
> Signed-off-by: Gregory Etelson
> <getel...@nvidia.com>
> ---
>  app/test-pmd/config.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-
> pmd/config.c
> index a18871d461..4870aaeba6 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -2011,6 +2011,7 @@
> port_flow_validate(portid_t port_id,
>       struct rte_flow_error error;
>       struct port_flow_tunnel *pft = NULL;
>       struct rte_port *port;
> +     int ret;
> 
>       if (port_id_is_invalid(port_id,
> ENABLED_WARN) ||
>           port_id == (portid_t)RTE_PORT_ALL)
> @@ -2037,10 +2038,11 @@
> port_flow_validate(portid_t port_id,
>               if (pft->actions)
>                       actions = pft->actions;
>       }
> -     if (rte_flow_validate(port_id, attr,
> pattern, actions, &error))
> -             return
> port_flow_complain(&error);
> +     ret = rte_flow_validate(port_id, attr,
> pattern, actions, &error);
>       if (tunnel_ops->enabled)
> 
>       port_flow_tunnel_offload_cmd_release(
> port_id, tunnel_ops, pft);
> +     if (ret)
> +             return
> port_flow_complain(&error);
>       printf("Flow rule validated\n");
>       return 0;
>  }
> --
> 2.33.1

Reply via email to