[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250723103001.79eb35fa@kernel.org>
Date: Wed, 23 Jul 2025 10:30:01 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Michael Chan <michael.chan@...adcom.com>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
pabeni@...hat.com, andrew+netdev@...n.ch, horms@...nel.org,
donald.hunter@...il.com, pavan.chebbi@...adcom.com, gal@...dia.com,
andrew@...n.ch, willemdebruijn.kernel@...il.com
Subject: Re: [PATCH net-next v2 3/4] eth: bnxt: support RSS on IPv6 Flow
Label
On Tue, 22 Jul 2025 00:57:14 -0700 Michael Chan wrote:
> Here, it needs to be something like this so that we only set the flag
> for 2-tuple or 3-tuple. The FW call will fail if both flags are set:
>
> if (!tuple || tuple == 2)
> rss_hash_cfg &= ~VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6;
> if (tuple == 2) {
> if (cmd->data & RXH_IP6_FL)
> rss_hash_cfg |=
> VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6_FLOW_LABEL;
> else
> rss_hash_cfg |= VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6;
> }
Thanks for the help! Thinking thru this carefully I'm worried this will
leave the FLOW_LABEL bit in place if we switch from FL to 4-tuple.
Tho, I'm not clear on how 0-tuple to 4-tuple switch works at present.
Would this look good to you?
case TCP_V6_FLOW:
case UDP_V6_FLOW:
case SCTP_V6_FLOW:
case AH_ESP_V6_FLOW:
case AH_V6_FLOW:
case ESP_V6_FLOW:
case IPV6_FLOW:
rss_hash_cfg &= ~(VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 |
VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6_FLOW_LABEL);
if (!tuple)
break;
if (cmd->data & RXH_IP6_FL)
rss_hash_cfg |=
VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6_FLOW_LABEL;
else
rss_hash_cfg |= VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6;
break;
or should the else branch have
else if (tuple == 2)
?
Powered by blists - more mailing lists