DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@amd.com>
To: Ori Kam <orika@nvidia.com>,
	cristian.dumitrescu@intel.com,
	Aman Singh <aman.deep.singh@intel.com>,
	Yuying Zhang <yuying.zhang@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Cc: dev@dpdk.org, rasland@nvidia.com
Subject: Re: [PATCH] ethdev: add calculate hash function
Date: Tue, 10 Oct 2023 12:05:39 +0100	[thread overview]
Message-ID: <1ea4cca3-de4e-4495-ab32-abb88b71bf6d@amd.com> (raw)
In-Reply-To: <20230926113753.28765-1-orika@nvidia.com>

On 9/26/2023 12:37 PM, Ori Kam wrote:
> rte_flow supports insert by index table[1].
> 
> Using the above table, the application can create rules
> that are based on hash.
> For example application can create the following logic in order
> to create load balancing:
> 1. Create insert by index table with 2 rules, that hashes based on dmac
> 2. Insert to index 0 a rule that sends the traffic to port A.
> 3. Insert to index 1 a rule that sends the traffic to port B.
> 
> Let's also assume that before this table, there is a 5 tuple
> match table that jumps to the above table.
> 
> So each packet that matches one of the 5 tuple rules is RSSed
> to port A or B, based on dmac hash.
> 
> The issue arises when there is a miss on the 5 tuple table,
> which resulted due to the packet being the first packet of this flow, or
> fragmented packet or any other reason.
> In this case, the application must calculate what would be the
> hash calculated by the HW so it can send the packet to the correct
> port.
> 
> This new API allows applications to calculate the hash value of a given
> packet for a given table.
> 
> [1] - http://patches.dpdk.org/project/dpdk/patch/20230208030624.78465-2-akozyrev@nvidia.com/
> 
> Signed-off-by: Ori Kam <orika@nvidia.com>
> ---
>  app/test-pmd/cmdline_flow.c  | 86 +++++++++++++++++++++++++++++++++++-
>  app/test-pmd/config.c        | 54 ++++++++++++++++++++++
>  app/test-pmd/testpmd.h       |  2 +
>  lib/ethdev/rte_flow.c        | 21 +++++++++
>  lib/ethdev/rte_flow.h        | 32 ++++++++++++++
>  lib/ethdev/rte_flow_driver.h |  5 +++
>  lib/ethdev/version.map       |  1 +
>  7 files changed, 200 insertions(+), 1 deletion(-)
> 

This is a new rte_flow API but unfortunately there isn't any
review/comment, at least it is experimental API. If there is no
objection/discussion in next few days, I will merge the feature.

Probably it will be another rte flow feature that only NVIDIA knows and
uses. While mentioned from using, is the driver update for the feature
planned for this release?


Meanwhile, can you please update the documentation, `rte_flow.rst` and
`testpmd_funcs.rst`?
Also can you please rebase on top of latest next-net, this patch
conflicts with merged group set miss action feature.


  parent reply	other threads:[~2023-10-10 11:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-26 11:37 Ori Kam
2023-10-09  8:15 ` Dariusz Sosnowski
2023-10-10 11:05 ` Ferruh Yigit [this message]
2023-10-10 11:42   ` Ori Kam
2023-10-11  2:11   ` fengchengwen
2023-10-11  8:34     ` Ferruh Yigit
2023-10-10 14:24 ` [PATCH v2] " Ori Kam
2023-10-11 16:08   ` 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=1ea4cca3-de4e-4495-ab32-abb88b71bf6d@amd.com \
    --to=ferruh.yigit@amd.com \
    --cc=aman.deep.singh@intel.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=orika@nvidia.com \
    --cc=rasland@nvidia.com \
    --cc=thomas@monjalon.net \
    --cc=yuying.zhang@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).