From nobody Thu Feb 26 20:26:17 2026 X-Original-To: dev-commits-src-main@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 4fMNJt3hpHz6TLF1 for ; Thu, 26 Feb 2026 20:26:22 +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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fMNJt1QYFz47mR for ; Thu, 26 Feb 2026 20:26:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772137582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YbnIaa4baEadhUPKtEIP2XtSzWGc1nzBUxHAUqEH30I=; b=TC7NzSz7AweQr+LgK8gd7BdvLUsbgfr87G7N1YFSAtvfKbpOY/xihY9CP10uFUOgmL2RYN DHXZp7829NHWgWGKdbT8Vdn1zQhty1MQyDIeixA9WXEdKp+YrGE2qUbLI00xzBp0T51yRU 6nvIrA1FCmOh684BUjXXvcmtBVtD0kAxeP6U0PDLR9Whrs1dZ1a7S0oSo5QvzlIIMj9UrL ZfRDgI6C6O5/vaa+ySH3TTfGZYZGky6NdFNgazDY6z0pxZN91lOP5m/Er+JS4VM6hSCqTU q/kT2e9HRaD1efefmHXk/Rc1Kw0fF47EFWVYOQkGSkrN+rqyIIH2pYNAQ+uswQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772137582; a=rsa-sha256; cv=none; b=go7TkfqNTwzkUri/PrWUjXZvMEGRiwygqbtP2x5SxJOyIgA12H/Il8vUrw93LpmnYQ9/M0 3FoTeaUtiySKxMmvT4oSrjp2/+KQMesw8CTgnoUT41JT0HbzWbhFz7TXkUodHlzRtST3gU CaPvGQ32SvEOBOc/QMw5JEJFBGYyoV4vhinoBNPBUFIsLqXTTr8T24/+68NeXM3pGgAU42 rfk8eUKS696ZJdgLdHQ383yxIT5B10lbgdNKWWSOp2VVNOtI+TxzhAUch3176Uup1Njeyx SkPqrHW1aAWzrDrwcJvMOY4/an1LDWZaFPkvW5tyP8DJ+yoUiDppizqXhWikuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772137582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YbnIaa4baEadhUPKtEIP2XtSzWGc1nzBUxHAUqEH30I=; b=g5GQ/olATy+feXjlg1R1mnBBV/PfNTVVrwVfWpZZJ9XbeUQoEhoPxteg59jumRxzZ2AwDY MhGxOFz9inHOLPjwblMJLmSUwlB0T/sXdE3xoIM8UMLErhVT6x5KGd3PeMf5b6slpmK+Gi BmoavnvQWn5mCFoFmby/qH9cMfpaK+Z6sfoDWZwzzOHpmZBbZsh3rdIBd1q5QsRPhjKA3z frLCBo0hCV0ynjy13RcKLWPHY15XoWJrIF86B/WqpUzhMrDofZoJEhRry0T8lOhPhal8SY pKVizA3u5RAWJpl9WNx7nML9v2CvEkzAXUHox4AEAkXk6H+81bcfmdU73ip+pQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fMNJt0XsPzmmC for ; Thu, 26 Feb 2026 20:26:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2360d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 20:26:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 5547a7bb39ac - main - divert: Use a better source identifier for netisr_queue_src() calls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5547a7bb39accd8f151b53e90b41d13b55f84c95 Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 20:26:17 +0000 Message-Id: <69a0ac69.2360d.f48d28@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5547a7bb39accd8f151b53e90b41d13b55f84c95 commit 5547a7bb39accd8f151b53e90b41d13b55f84c95 Author: Mark Johnston AuthorDate: 2026-02-26 20:25:35 +0000 Commit: Mark Johnston CommitDate: 2026-02-26 20:25:35 +0000 divert: Use a better source identifier for netisr_queue_src() calls These opaque IDs are used by netisr to distribute work among threads. The mapping function is simply SourceID % numthreads, so using socket addresses as source IDs isn't going to distribute packets well due to alignment. Use the divert socket's generation number instead, as that suits this purpose much better. Reviewed by: zlei, glebius MFC after: 1 week Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55537 --- sys/netinet/ip_divert.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index 9f1d862a0531..2b85bd4a50bb 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -502,8 +502,10 @@ static int div_output_inbound(int family, struct socket *so, struct mbuf *m, struct sockaddr_in *sin) { + struct divcb *dcb; struct ifaddr *ifa; + dcb = so->so_pcb; if (m->m_pkthdr.rcvif == NULL) { /* * No luck with the name, check by IP address. @@ -540,14 +542,14 @@ div_output_inbound(int family, struct socket *so, struct mbuf *m, m->m_flags |= M_MCAST; else if (in_ifnet_broadcast(ip->ip_dst, m->m_pkthdr.rcvif)) m->m_flags |= M_BCAST; - netisr_queue_src(NETISR_IP, (uintptr_t)so, m); + netisr_queue_src(NETISR_IP, (uintptr_t)dcb->dcb_gencnt, m); DIVSTAT_INC(inbound); break; } #endif #ifdef INET6 case AF_INET6: - netisr_queue_src(NETISR_IPV6, (uintptr_t)so, m); + netisr_queue_src(NETISR_IPV6, (uintptr_t)dcb->dcb_gencnt, m); DIVSTAT_INC(inbound); break; #endif