From: "Shaul Hamoi (shamoi)" <shamoi@cisco.com>
To: "sismis@cesnet.cz" <sismis@cesnet.cz>
Cc: "Balakrishnan.K1@tatacommunications.com"
<Balakrishnan.K1@tatacommunications.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"users@dpdk.org" <users@dpdk.org>
Subject: Re: Symmetric RSS Hashing support in DPDK
Date: Sun, 31 Mar 2024 11:47:01 +0000 [thread overview]
Message-ID: <PH0PR11MB4997D29EFE25BE208B5668FED1382@PH0PR11MB4997.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CDE5E416-0537-498B-BE79-D351B4051D99@cisco.com>
[-- Attachment #1: Type: text/plain, Size: 4093 bytes --]
Hi,
I am looking to determine the target queue for a flow in advance
I’m using dpdk-rss-flows.py to calculate the Toeplitz hash with I40E key.
However, If I use the script as is, I don’t obtain the correct queue because the hash calculation isn’t symmetric.
I have attempted to XOR the source and destination IP addresses and source and destination port before performing the calculation but I still don’t get the correct queue.
In case you use RTE_ETH_HASH_SYMMETRIC_TOEPLITZ , the I40E key doesn’t change - Right ?
How do I find that the NIC does for symmetric hash so I can simulate it ?
(src="1.0.0.1", dst="2.0.0.2")/TCP(sport=8819, dport=80)
Actual queue - 7 (32 RX queues)
Result with XOR:
dpdk-rss-flows.py -s 8819 -d 80 -k i40e 32 1.0.0.1 2.0.0.2
SRC_IP SPORT DST_IP DPORT QUEUE
1.0.0.1 8819 2.0.0.2 80 19
Result without (original script):
dpdk-rss-flows.py -s 8819 -d 80 -k i40e 32 1.0.0.1 2.0.0.2
SRC_IP SPORT DST_IP DPORT QUEUE
1.0.0.1 8819 2.0.0.2 80 20
Thanks in advance,
Shaul.
From: "Lukáš Šišmiš" <sismis@cesnet.cz>
To: Balakrishnan K <Balakrishnan.K1@tatacommunications.com>,
Stephen Hemminger <stephen@networkplumber.org>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: Symmetric RSS Hashing support in DPDK<https://inbox.dpdk.org/users/90dc11cf-8c60-4b90-a3fc-43b2351b6c93@cesnet.cz/#r>
Date: Fri, 8 Mar 2024 08:29:32 +0100 [thread overview]<https://inbox.dpdk.org/users/90dc11cf-8c60-4b90-a3fc-43b2351b6c93@cesnet.cz/#r>
Message-ID: <90dc11cf-8c60-4b90-a3fc-43b2351b6c93@cesnet.cz> (raw<https://inbox.dpdk.org/users/90dc11cf-8c60-4b90-a3fc-43b2351b6c93@cesnet.cz/raw>)
In-Reply-To: <PSAPR04MB551616841D8221851FF79214D6272@PSAPR04MB5516.apcprd04.prod.outlook.com<https://inbox.dpdk.org/users/PSAPR04MB551616841D8221851FF79214D6272@PSAPR04MB5516.apcprd04.prod.outlook.com/>>
Hi all,
I've made minimalist example app on how to set symmetric RSS support for
X710 that uses RTE_FLOW rules - check it out here:
https://github.com/lukashino/i40e-symmetric-rss-rte-flow
Lukas
On 08. 03. 24 6:53, Balakrishnan K wrote:
> Hi Stephen,
> Thanks for the response . I will below option and come back if any help required.
>
> Regards,
> Bala
>
> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Wednesday, March 6, 2024 8:34 PM
> To: Balakrishnan K <Balakrishnan.K1@tatacommunications.com>
> Cc: users@dpdk.org
> Subject: Re: Symmetric RSS Hashing support in DPDK
>
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed, 6 Mar 2024 07:28:40 +0000
> Balakrishnan K <Balakrishnan.K1@tatacommunications.com> wrote:
>
>> Hello,
>> Our application needs symmetric hashing to handle the reverse
>> traffic on the same core, also to Improve performance by distributing the traffic across core.
>> Tried using rss config as below .
>> action_rss_tcp.types = ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_SRC_ONLY|
>> ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY | ETH_RSS_L4_DST_ONLY; but could not get desired result.
>> Is there any options or API available to enable symmetric RSS hashing .
>> We are using dpdk 20.11 and intel NIC X710 10GbE .
>>
>> Regards,
>> Bala
> With XL710 there are two choices:
> 1. Set RSS hash function to RTE_ETH_HASH_SYMMETRIC_TOEPLITZ in
> the rte_eth_rss_conf passed in during configure
> 2. Use default (non symmetric TOEPLITZ) but pass in a rss_key that
> has duplicated bits in the right place. Like:
>
> 0x6d5a 0x6d5a 0x6d5a 0x6d5a
> 0x6d5a 0x6d5a 0x6d5a 0x6d5a
> 0x6d5a 0x6d5a 0x6d5a 0x6d5a
> 0x6d5a 0x6d5a 0x6d5a 0x6d5a
> 0x6d5a 0x6d5a 0x6d5a 0x6d5a
>
> https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf
[-- Attachment #2: Type: text/html, Size: 12290 bytes --]
next parent reply other threads:[~2024-03-31 11:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CDE5E416-0537-498B-BE79-D351B4051D99@cisco.com>
2024-03-31 11:47 ` Shaul Hamoi (shamoi) [this message]
2024-04-01 16:40 ` Shaul Hamoi (shamoi)
2024-03-06 7:28 Balakrishnan K
2024-03-06 15:03 ` Stephen Hemminger
2024-03-08 5:53 ` Balakrishnan K
2024-03-08 7:29 ` Lukáš Šišmiš
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=PH0PR11MB4997D29EFE25BE208B5668FED1382@PH0PR11MB4997.namprd11.prod.outlook.com \
--to=shamoi@cisco.com \
--cc=Balakrishnan.K1@tatacommunications.com \
--cc=sismis@cesnet.cz \
--cc=stephen@networkplumber.org \
--cc=users@dpdk.org \
/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).