On 3/9/2022 9:55 AM, Ori Kam wrote:
Hi Lihusiong,
-----Original Message-----
From: lihuisong (C) <lihuis...@huawei.com>
Sent: Wednesday, March 9, 2022 10:03 AM
Subject: Re: [PATCH 2/6] net/hns3: fix inconsistent enabled RSS behavior
在 2022/3/3 10:47, lihuisong (C) 写道:
Hi, Ori,
在 2022/3/2 22:07, Ori Kam 写道:
Hi Lihuisong,
-----Original Message-----
From: lihuisong (C) <lihuis...@huawei.com>
Sent: Wednesday, March 2, 2022 4:10 AM
Subject: Re: [PATCH 2/6] net/hns3: fix inconsistent enabled RSS
behavior
在 2022/3/1 0:42, Ferruh Yigit 写道:
On 2/28/2022 3:21 AM, Min Hu (Connor) wrote:
From: Huisong Li <lihuis...@huawei.com>
RSS will not be enabled if the RTE_ETH_MQ_RX_RSS_FLAG isn't be set in
dev_configure phase. However, if this flag isn't set, RSS can be
enabled
through the ethdev ops and rte_flow API. This behavior is contrary to
each
other.
Fixes: c37ca66f2b27 ("net/hns3: support RSS")
Cc: sta...@dpdk.org
Signed-off-by: Huisong Li <lihuis...@huawei.com>
Hi Huisong, Connor,
Let's get a little more feedback for this patch, cc'ed more people.
To enable RSS, multi queue mode should be set to
'RTE_ETH_MQ_RX_RSS_FLAG'.
But I wonder if it is required to configure RSS via flow API,
I do not know the original purpose of adding the RSS configuration in
flow API.
The purpose is simple, this allow to create RSS per rule and not a
global one.
For example create RSS that sends TCP to some queues while othe RSS
will send
UDP traffic to different queues.
I'm a little confused now. The "per rule" also seems to be a global
configuration.
Example:
- start PMD with 0,1,2,3
- create TCP packets to 2,3 queues. At this moment, only 2,3 queues
can be received for other types of packets.
Because this rule is implemented by modifying the entry of the
redirection table which is global for this device.
Hi, Ori and Stephen.
Can you help me clear up the confusion above? If some NICs behave like
this, what should we do about it?
I'm not sure I understand the issue, maybe it is releated to some HW/PMD
limitation.
In your example non TCP traffic will be routed to one of the 4 queues (0,1,2,3),
While TCP traffic will only be routed to queues 2,3.
Now I can add new rule that matches on UDP packet and RSS to queue 0 and 3 in
this case:
TCP packets will be routed to queues 0,3.
UDP packets will be routed to queues 2,3.
All the rest of the traffic will be routed to queues 0,1,2,3
Hi Ori,
How RETA is managed for per flow RSS configuration? And is there a limit
on how many per flow RSS rule can be created?
And just to be clear if now I add a rule to match all packets in higher
priority,
with RSS to queues 1,2. Then all traffic will be routed to queues 1,2.
At least this is what is expected, from API point of view.
Best,
Ori
However, as far as I know, the hash algorithm can be configured via
this
API,
but not via ethdev ops API.
and if other PMDs check this configuration for flow API?
Some PMDs already have similar check in RSS releated ops or rte_flow
API.
For example, hinic, axbge, bnxt, cnxk, otx2, and ena.
.
From my view point those are two different settings.
The RTE_ETH_MQ_RX_RSS_FLAG is global per port while
rte_flow is per rule.
I think, that if a PMD needs this flag, in order to enable it also
for rte_flow then
it should be documented in the release note of the PMD.
It is a valid use case that the default traffic will not have RSS and
only rules created by
rte_flow will have the RSS, for matching traffc.
Best,
Ori