lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ