[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0329924b-a868-49b9-ab98-0b3f8bd545cb@intel.com>
Date: Fri, 20 Oct 2023 13:13:08 -0700
From: "Nambiar, Amritha" <amritha.nambiar@...el.com>
To: Hariprasad Kelam <hkelam@...vell.com>, Jamal Hadi Salim
<jhs@...atatu.com>, "sridhar.samudrala@...el.com"
<sridhar.samudrala@...el.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kuba@...nel.org" <kuba@...nel.org>, Sunil Kovvuri Goutham
<sgoutham@...vell.com>, "edumazet@...gle.com" <edumazet@...gle.com>,
"pabeni@...hat.com" <pabeni@...hat.com>, "xiyou.wangcong@...il.com"
<xiyou.wangcong@...il.com>, "jiri@...nulli.us" <jiri@...nulli.us>, "David S.
Miller" <davem@...emloft.net>
Subject: Re: [net-next] net: sched: extend flow action with RSS
On 10/20/2023 9:35 AM, Hariprasad Kelam wrote:
>
>
>
>
>> On Fri, Oct 20, 2023 at 2:12 AM Hariprasad Kelam <hkelam@...vell.com>
>> wrote:
>>>
>>> This patch extends current flow action with RSS, such that the user
>>> can install flower offloads with action RSS followed by a group id.
>>> Since this is done in hardware skip_sw flag is enforced.
>>
>> Our typical rule for TC is we need s/w equivalence for offloads. How would
>> this work in absence of offload?
>>
> [Hari]
> Our typical rule for TC is we need s/w equivalence for offloads. How would this work in absence of offload?
>
> This patch we added as an extension to receive queue selection in hardware.
> This patch "act_skbedit: skbedit queue mapping for receive queue" enabled receive queue selection in hardware
> and skip_sw is enforced.
>
> Adding stakeholders of this patch, to get their opinion.
> sridhar.samudrala@...el.com amritha.nambiar@...el.com
>
> incase of RSS, hardware makes decisions about incoming packets before they are even received in the queue.
>
The skip_sw for skbedit receive queue action was enforced as the only
other alternative was a new hw-only action, or changing the action
mirred. See discussion at
https://lore.kernel.org/netdev/20220921132929.3f4ca04d@kernel.org/
Few questions WRT this patch:
How are the rss groups created? ethtool rss contexts? Any reason to use
TC to direct to rss contexts over using ethtool context ids?
IIUC, skbedit is meant to only edit skb metadata such as mark, packet
type, queue mapping, priority etc. Even if this is a HW only action and
has no use in the stack, would skbedit be the right fit here?
> Thanks,
> Hariprasad k
>
>
>
>
>> cheers,
>> jamal
>>
>>> Example:
>>> In a multi rss group supported NIC,
>>>
>>> rss group #1 flow hash indirection table populated with rx queues 1 to
>>> 4 rss group #2 flow hash indirection table populated with rx queues 5
>>> to 9
>>>
>>> $tc filter add dev eth1 ingress protocol ip flower ip_proto tcp
>>> dst_port
>>> 443 action skbedit rss_group 1 skip_sw
>>>
>>> Packets destined to tcp port 443 will be distributed among rx queues 1
>>> to 4
>>>
>>> $tc filter add dev eth1 ingress protocol ip flower ip_proto udp
>>> dst_port
>>> 8080 action skbedit rss_group 2 skip_sw
>>>
>>> Packets destined to udp port 8080 will be distributed among rx queues
>>> 5 to 9
Powered by blists - more mailing lists