From nobody Thu Oct 29 07:41:25 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jFbl944Sgz6wFjG for ; Thu, 29 Oct 2026 07:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFbl939ghz4S7D for ; Thu, 29 Oct 2026 07:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793259685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WiRBVstCeQxkO1urZxtEyiu0JnG9pP0IgL2WIgavkTA=; b=uO7V3+yBBuVmbcc7ozv4qNAtwSCGQ7pqTwy+tKCY+gKXpSJR2WOf+JUfRfc4QgL31LzH1A 4t7P8Jt68uGafQ0psbrVU4QMtaoR7sKcZYY6URywzJU0p4EbZO1VV3RHzdATC9FcgYpTLy 3GcRLfscbfCcO42DIWvGNmGYfJI2r7rczGLlrxm95KXZkcw0sbOm9N+64gk0nHdGUsLNBD JKUcF1U84P5gPjBoccA8IZ8yUHi7bW+fhN/sweAqKemVexR0n3Mv+wI7UlfAJVMm+MD7PJ IVS97WHAsvlgnEpchSQh5n8+9ORE9jFBMpviIF74rHCaFRrhfAJjdgSSNcVfsg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793259685; b=lQuI8BayJVY/1MuMBQdoby9pF6ksuYntIaP307/jfTS37qKruigrrIWcs5beAqFxBJd4pv BBSPhL3uIkHCQtuTkSxTm1fXGkLRF4MMA/0dFqW+KpkU3mqkWuhKNhKX539YSY1vtERzV+ xTrVXxJXU4csF/l9BTgsvyf1qzbHOnTuza8yDNPSOCnhQ7qfLdN1uQpE8M04MrNI6e1y6C CSeSgbyh50frhUbfDr5mjSMg9l+AC6Ml1pvSQRIOfqAMRCmXR1eDxGVqMqIgJUxY9gU5Ox GweL9qg/JoHwfJK4Og5wgkjLvzyJ2MSUThPZfmRtJufx6LZBKJ1RUN2ftqZYIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793259685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WiRBVstCeQxkO1urZxtEyiu0JnG9pP0IgL2WIgavkTA=; b=g/jj4RFaMA++yIk4cBXVF6ie4Qh/Pu3L2rnahcBqSpk62vi5UxfAA3FdQ81HLPuqhZxyEn NCg/vilaobFLc4LzjSTMiJXduHmGunCFKW2JVa1XSJ/rJF5AhK96a8B1CpTFzCk2tlRvwa IWLFFRy5omMXr5YbbNBhYabhWxzOvETGMWMZfjJT/tsvCi6NC0c+ZVeFlFpnd20HtYwPJE F+NmDn5BjjrHIrF1P+JcP4MHRmMQ9hS7CHDOJarTq2d7Tp5Ly8W1E/KcngLBVaSm1I8vZ7 O4AIwscOj+UqAs+hn9GZA+A+Lu9gQVxM/re55g144q4nOQy7LqcLFdtXgkg+3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jFbl92rHLzTy6 for ; Thu, 29 Oct 2026 07:41:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 435bb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 07:41:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Andrew Gallatin From: Kevin Bowling Subject: git: 814fc45f3154 - stable/15 - tcp: Enable symmetric hashing by setting hash on outgoing conns List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 814fc45f3154d3a2442681fdec41e26d43beb7b6 Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 07:41:25 +0000 Message-Id: <6ae2f8a5.435bb.47cf4088@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=814fc45f3154d3a2442681fdec41e26d43beb7b6 commit 814fc45f3154d3a2442681fdec41e26d43beb7b6 Author: Andrew Gallatin AuthorDate: 2025-11-22 14:29:35 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 07:37:57 +0000 tcp: Enable symmetric hashing by setting hash on outgoing conns Now that we can trust NICs to supply an identical hash result to software, we can setup the inpcb hash on outgoing connections. This gives us symmetric hashing, meaning packets should enter and leave on the same NIC queue. Differential Revision: https://reviews.freebsd.org/D53104 Reviewed by: adrian, cc, kbowling, tuexen, zlei Sponsored by: Netflix (cherry picked from commit dd0e6bb996dc46e1d91f3d9aef87979716479465) --- sys/netinet/tcp_usrreq.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 6b2388b9363c..9423a54a8a31 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -75,6 +75,7 @@ #include #include #include +#include #include #include #include @@ -82,6 +83,7 @@ #ifdef INET6 #include #include +#include #include #include #endif @@ -1488,6 +1490,10 @@ tcp_connect(struct tcpcb *tp, struct sockaddr_in *sin, struct thread *td) if (error != 0) return (error); + /* set the hash on the connection */ + rss_proto_software_hash_v4(inp->inp_faddr, inp->inp_laddr, + inp->inp_fport, inp->inp_lport, IPPROTO_TCP, + &inp->inp_flowid, &inp->inp_flowtype); /* * Compute window scaling to request: * Scale to fit into sweet spot. See tcp_syncache.c. @@ -1533,6 +1539,10 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr_in6 *sin6, struct thread *td) if (error != 0) return (error); + /* set the hash on the connection */ + rss_proto_software_hash_v6(&inp->in6p_faddr, + &inp->in6p_laddr, inp->inp_fport, inp->inp_lport, IPPROTO_TCP, + &inp->inp_flowid, &inp->inp_flowtype); /* Compute window scaling to request. */ while (tp->request_r_scale < TCP_MAX_WINSHIFT && (TCP_MAXWIN << tp->request_r_scale) < sb_max)