rss_config: Add option to enable rss udp hashing

Added optional system tunable parameter to enable
4-tuple rss udp hashing.

Signed-off-by: bigJ <bigj@solanavibestation.com>
Reviewed by: adrian, pouria
Pull Request: https://github.com/freebsd/freebsd-src/pull/2057
This commit is contained in:
bigJ
2026-03-01 15:14:49 -05:00
committed by Pouria Mousavizadeh Tehrani
parent e6083790f2
commit 283ef95d16
+22 -12
View File
@@ -150,6 +150,11 @@ int rss_debug = 0;
SYSCTL_INT(_net_inet_rss, OID_AUTO, debug, CTLFLAG_RWTUN, &rss_debug, 0,
"RSS debug level");
static u_int rss_udp_4tuple = 0;
SYSCTL_INT(_net_inet_rss, OID_AUTO, udp_4tuple, CTLFLAG_RDTUN,
&rss_udp_4tuple, 0,
"Enable UDP 4-tuple RSS hashing (src/dst IP + src/dst port)");
/*
* RSS secret key, intended to prevent attacks on load-balancing. Its
* effectiveness may be limited by algorithm choice and available entropy
@@ -488,19 +493,24 @@ rss_gethashconfig(void)
* So for now disable UDP 4-tuple hashing until all of the other
* pieces are in place.
*/
return (
u_int config;
config =
RSS_HASHTYPE_RSS_IPV4
| RSS_HASHTYPE_RSS_TCP_IPV4
| RSS_HASHTYPE_RSS_IPV6
| RSS_HASHTYPE_RSS_TCP_IPV6
| RSS_HASHTYPE_RSS_IPV6_EX
| RSS_HASHTYPE_RSS_TCP_IPV6_EX
#if 0
| RSS_HASHTYPE_RSS_UDP_IPV4
| RSS_HASHTYPE_RSS_UDP_IPV6
| RSS_HASHTYPE_RSS_UDP_IPV6_EX
#endif
);
| RSS_HASHTYPE_RSS_TCP_IPV4
| RSS_HASHTYPE_RSS_IPV6
| RSS_HASHTYPE_RSS_TCP_IPV6
| RSS_HASHTYPE_RSS_IPV6_EX
| RSS_HASHTYPE_RSS_TCP_IPV6_EX;
if (rss_udp_4tuple) {
config |=
RSS_HASHTYPE_RSS_UDP_IPV4
| RSS_HASHTYPE_RSS_UDP_IPV6
| RSS_HASHTYPE_RSS_UDP_IPV6_EX;
}
return (config);
}
/*