tcp: Unifidef use of rss software hash in syncache

Ever since "d9c55b2e8cd6 rss: Enable portions of RSS globally.."
exposed the RSS software hashing functions, it has been possible
to use them without "ifdef RSS".   Do so now in the syncache
so as to get flowids recorded.

Note that the use of the rss hash functions is conditional on IP versions,
so we must ifdef INET to ensure rss_proto_software_hash_v4() is available.

Fixes 73fe85e486
Sponsored by: Netflix
Reviewed by: glebius, p.mousavizadeh_protonmail.com, nickbanks_netflix.com, tuexen
Differential Revision: https://reviews.freebsd.org/D54534
This commit is contained in:
Andrew Gallatin 2026-01-05 14:54:35 -05:00
parent 73af599fb7
commit 21865c9708

View file

@ -35,7 +35,6 @@
#include "opt_inet.h"
#include "opt_inet6.h"
#include "opt_ipsec.h"
#include "opt_rss.h"
#include <sys/param.h>
#include <sys/systm.h>
@ -882,7 +881,6 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
if (sc->sc_flowtype != M_HASHTYPE_NONE) {
inp->inp_flowid = sc->sc_flowid;
inp->inp_flowtype = sc->sc_flowtype;
#ifdef RSS
} else {
/* assign flowid by software RSS hash */
#ifdef INET6
@ -897,6 +895,7 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
} else
#endif /* INET6 */
{
#ifdef INET
rss_proto_software_hash_v4(inp->inp_faddr,
inp->inp_laddr,
inp->inp_fport,
@ -904,8 +903,8 @@ syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
IPPROTO_TCP,
&inp->inp_flowid,
&inp->inp_flowtype);
#endif /* INET */
}
#endif /* RSS */
}
#ifdef NUMA
inp->inp_numa_domain = sc->sc_numa_domain;