From: "Xing, Beilei" <beilei.xing@intel.com>
To: Vishal Mohan <vishal.mohan@tatacommunications.com>,
"users@dpdk.org" <users@dpdk.org>,
"Zhang, AlvinX" <alvinx.zhang@intel.com>
Subject: Re: [dpdk-users] DPDK 20.11 - i40e 2 tuple RSS configuration
Date: Fri, 28 May 2021 01:23:34 +0000 [thread overview]
Message-ID: <MN2PR11MB3807BB6E435E003E6CBE3C02F7229@MN2PR11MB3807.namprd11.prod.outlook.com> (raw)
In-Reply-To: <SG2PR04MB3173C54E82A7E5D810E9E622E4239@SG2PR04MB3173.apcprd04.prod.outlook.com>
+ Alvin.
Could you please help on it? Thanks.
BR,
Beilei
From: Vishal Mohan <vishal.mohan@tatacommunications.com>
Sent: Thursday, May 27, 2021 5:45 PM
To: Xing, Beilei <beilei.xing@intel.com>; users@dpdk.org
Subject: RE: DPDK 20.11 - i40e 2 tuple RSS configuration
Hi Beilei,
Thanks for the pointer. By using l3-src-only, I was able to run testpmd on 1 tuple mode. But no success when configured manually. Please find the snippet below of my rte_eth_conf and flow conf for your kind perusal:
static struct rte_eth_conf port_conf_default = {
.rxmode = {
.mq_mode = ETH_MQ_RX_RSS,
},
.rx_adv_conf = {
.rss_conf = {
.rss_key = NULL,
.rss_key_len = 40,
.rss_hf = ETH_RSS_NONFRAG_IPV4_UDP,
},
}
};
struct rte_flow_item pattern[] = {
[0] = {
.type = RTE_FLOW_ITEM_TYPE_ETH,
},
[1] = {
.type = RTE_FLOW_ITEM_TYPE_IPV4,
},
[2] = {
.type = RTE_FLOW_ITEM_TYPE_UDP,
},
[3] = {
.type = RTE_FLOW_ITEM_TYPE_END,
}
};
struct rte_flow_action_rss action_rss = {
.types = ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L3_SRC_ONLY,
.queue_num = 10,
.queue = queue_ids,
};
struct rte_flow_action action[] = {
[0] = {
.type = RTE_FLOW_ACTION_TYPE_RSS,
.conf = &action_rss
},
[1] = {
.type = RTE_FLOW_ACTION_TYPE_END,
}
};
struct rte_flow_attr attr = {
.egress = 0,
.ingress = 1
};
struct rte_flow_error err;
retval = rte_flow_validate(portid, &attr,
pattern, action, &err);
printf("retval %d %d\n",retval,-ENOTSUP);
if(!retval){
struct rte_flow *flow = rte_flow_create(portid, &attr, pattern, action, &err);
}
The above given flow validates and adds successfully but no effect on RSS hashing. Also I did not set .spec and .mask for patterns assuming ETH_RSS_L3_SRC_ONLY will take care of the fields looked into.
Can you please point out if im missing anything here ?
Thanks & Regards,
Vishal Mohan
-----Original Message-----
From: Xing, Beilei <beilei.xing@intel.com<mailto:beilei.xing@intel.com>>
Sent: 27 May 2021 01:42 PM
To: Vishal Mohan <vishal.mohan@tatacommunications.com<mailto:vishal.mohan@tatacommunications.com>>; users@dpdk.org<mailto:users@dpdk.org>
Subject: RE: DPDK 20.11 - i40e 2 tuple RSS configuration
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.
Hi,
I remember there's no legacy API rte_eth_dev_filter_ctrl() supported in 20.11.
Please refer to RSS Flow part in i40e.rst:
Enable hash and set input set for ipv4-tcp.
testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
actions rss types ipv4-tcp l3-src-only end queues end / end
BR,
Beilei
> -----Original Message-----
> From: users <mailto:users-bounces@dpdk.org> On Behalf Of Vishal Mohan
> Sent: Thursday, May 27, 2021 3:40 PM
> To: mailto:users@dpdk.org
> Subject: [dpdk-users] DPDK 20.11 - i40e 2 tuple RSS configuration
>
> I'm trying to implement RSS with 2 tuple (src ip, dst ip) hashing with
> X710 - quad port in DPDK 20.11 with no success. I was able to
> implement the same in DPDK 17.11 with a combination of RSS flags
> given below and
> rte_eth_dev_filter_ctrl():
>
> .rss_hf = (ETH_RSS_IPV4 | ETH_RSS_NONFRAG_IPV4_OTHER |
> ETH_RSS_FRAG_IPV4 | ETH_RSS_NONFRAG_IPV4_UDP |
> ETH_RSS_NONFRAG_IPV4_TCP)
>
> and selecting input fields as dst and src ip for every rss_hf flag
> using rte_eth_dev_filter_ctrl().
>
> In DPDK 20.11, I believe there is no explicit usage of using
> rte_eth_dev_filter_ctrl() instead we can configure the hashing with
> the generic rte_flow api. I did configure a flow validate and create
> the same, but the hashing is not working as expected. Without flags
> ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_NONFRAG_IPV4_TCP no hashing takes
> place and with those flags included in .rss_hf, 5 tuple hashing takes
> place.
>
> When using rte_flow api, any flags given in rte_flow_action_rss.types
> has no effect on the final RSS hash result. Also the RSS hashing in
> the given testpmd isn't working when it is configured in "ip" (2 tuple) mode.
>
> Any inputs for configuring RSS hashing for 2 tuple is much appreciated.
>
>
> Thanks & Regards,
> Vishal Mohan
next prev parent reply other threads:[~2021-05-28 1:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <SG2PR04MB3173B935587AE7E8599C7DF9E4239@SG2PR04MB3173.apcprd04.prod.outlook.com>
2021-05-27 7:39 ` Vishal Mohan
2021-05-27 8:11 ` Xing, Beilei
2021-05-27 9:45 ` Vishal Mohan
2021-05-28 1:23 ` Xing, Beilei [this message]
2021-05-28 3:36 ` Zhang, AlvinX
2021-05-28 6:56 ` Zhang, AlvinX
2021-05-28 8:47 ` Vishal Mohan
2021-05-30 14:22 ` Vishal Mohan
2021-05-31 1:52 ` Zhang, AlvinX
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=MN2PR11MB3807BB6E435E003E6CBE3C02F7229@MN2PR11MB3807.namprd11.prod.outlook.com \
--to=beilei.xing@intel.com \
--cc=alvinx.zhang@intel.com \
--cc=users@dpdk.org \
--cc=vishal.mohan@tatacommunications.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).