DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Gregory Etelson <getelson@nvidia.com>, dev@dpdk.org
Cc: matan@nvidia.com, rasland@nvidia.com, stable@dpdk.org,
	Viacheslav Ovsiienko <viacheslavo@mellanox.com>,
	Xiaoyun Li <xiaoyun.li@intel.com>
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH 2/2] app/testpmd: fix tunnel offload private items location
Date: Fri, 23 Apr 2021 09:50:17 +0100	[thread overview]
Message-ID: <fddb3735-31a5-eee2-5e5f-afb25fd0869c@intel.com> (raw)
In-Reply-To: <20210419130204.24348-2-getelson@nvidia.com>

On 4/19/2021 2:02 PM, Gregory Etelson wrote:
> Flow rules used in tunnel offload model require application to query
> PMD for private flow elements and explicitly add these elements to
> flow rule.

Hi Gregory,

What is "private flow element"?

And can you please detail what is fixed with this patch, what was not working 
and now working?

> Tunnel offload model does not restrict private elements location in
> a flow rule.
> The patch places tunnel offload private PMD flow elements between
> general RTE flow elements in a rule.
> 
> Fixes: 1b9f274623b8 ("app/testpmd: add commands for tunnel offload")
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> ---
>   app/test-pmd/config.c | 14 ++++++++------
>   1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index ef0b9784d..da5e843fd 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1663,7 +1663,7 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id,
>   		     aptr->type != RTE_FLOW_ACTION_TYPE_END;
>   		     aptr++, num_actions++);
>   		pft->actions = malloc(
> -				(num_actions +  pft->num_pmd_actions) *
> +				(num_actions +  pft->num_pmd_actions + 1) *
>   				sizeof(actions[0]));
>   		if (!pft->actions) {
>   			rte_flow_tunnel_action_decap_release(
> @@ -1671,9 +1671,10 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id,
>   					pft->num_pmd_actions, &error);
>   			return NULL;
>   		}
> -		rte_memcpy(pft->actions, pft->pmd_actions,
> +		pft->actions[0].type = RTE_FLOW_ACTION_TYPE_VOID;
> +		rte_memcpy(pft->actions + 1, pft->pmd_actions,
>   			   pft->num_pmd_actions * sizeof(actions[0]));
> -		rte_memcpy(pft->actions + pft->num_pmd_actions, actions,
> +		rte_memcpy(pft->actions + pft->num_pmd_actions + 1, actions,
>   			   num_actions * sizeof(actions[0]));
>   	}
>   	if (tunnel_ops->items) {
> @@ -1691,7 +1692,7 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id,
>   		for (iptr = pattern, num_items = 1;
>   		     iptr->type != RTE_FLOW_ITEM_TYPE_END;
>   		     iptr++, num_items++);
> -		pft->items = malloc((num_items + pft->num_pmd_items) *
> +		pft->items = malloc((num_items + pft->num_pmd_items + 1) *
>   				    sizeof(pattern[0]));
>   		if (!pft->items) {
>   			rte_flow_tunnel_item_release(
> @@ -1699,9 +1700,10 @@ port_flow_tunnel_offload_cmd_prep(portid_t port_id,
>   					pft->num_pmd_items, &error);
>   			return NULL;
>   		}
> -		rte_memcpy(pft->items, pft->pmd_items,
> +		pft->items[0].type = RTE_FLOW_ITEM_TYPE_VOID;
> +		rte_memcpy(pft->items + 1, pft->pmd_items,
>   			   pft->num_pmd_items * sizeof(pattern[0]));
> -		rte_memcpy(pft->items + pft->num_pmd_items, pattern,
> +		rte_memcpy(pft->items + pft->num_pmd_items + 1, pattern,
>   			   num_items * sizeof(pattern[0]));
>   	}
>   
> 


  reply	other threads:[~2021-04-23  8:50 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-19 13:02 [dpdk-dev] [PATCH 1/2] net/mlx5: " Gregory Etelson
2021-04-19 13:02 ` [dpdk-dev] [PATCH 2/2] app/testpmd: " Gregory Etelson
2021-04-23  8:50   ` Ferruh Yigit [this message]
2021-04-25 15:57 ` [dpdk-dev] [PATCH v2 1/2] net/mlx5: " Gregory Etelson
2021-04-25 15:57   ` [dpdk-dev] [PATCH v2 2/2] app/testpmd: " Gregory Etelson
2021-04-30 13:49     ` Ferruh Yigit
2021-04-25 16:28   ` [dpdk-dev] [PATCH v2 1/2] net/mlx5: " Thomas Monjalon
2021-04-25 17:01     ` Gregory Etelson
2021-04-25 17:07       ` Thomas Monjalon
2021-04-26  7:54         ` Ferruh Yigit
2021-04-27  9:27           ` Gregory Etelson
2021-04-29  7:44             ` Gregory Etelson
2021-04-30 13:37               ` Ferruh Yigit
2021-05-04  9:20           ` Gregory Etelson
2021-05-02  8:08 ` [dpdk-dev] [PATCH v3] " Gregory Etelson
2021-05-04  8:10   ` Raslan Darawsheh
2021-05-04  8:20   ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2021-05-04  9:12     ` Gregory Etelson
2021-05-05 17:45       ` Ferruh Yigit
2021-05-06  6:08         ` Gregory Etelson
2021-05-06  7:40           ` Gregory Etelson
2021-05-06  7:59             ` [dpdk-dev] net/mlx5: mellanox cx5/cx6-dx increment "rx_phy_discard_packets" with DPDK rte_flow actions COUNT & DROP Arthas
2021-05-06 10:55               ` Slava Ovsiienko
2021-05-06  9:57 ` [dpdk-dev] [PATCH v4] net/mlx5: fix tunnel offload private items location Gregory Etelson
2021-05-10 12:29   ` Gregory Etelson
2021-05-10 16:10     ` Ferruh Yigit
2021-05-11 22:16   ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fddb3735-31a5-eee2-5e5f-afb25fd0869c@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=getelson@nvidia.com \
    --cc=matan@nvidia.com \
    --cc=rasland@nvidia.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@mellanox.com \
    --cc=xiaoyun.li@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).