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]));
> }
>
>
next prev parent 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).