From nobody Thu Feb 26 20:26:17 2026 X-Original-To: dev-commits-src-all@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 4fMNJn20Dhz6TL5l for ; Thu, 26 Feb 2026 20:26:17 +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 4fMNJn1NWmz47gj for ; Thu, 26 Feb 2026 20:26:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772137577; 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=VD/z9VwMfxZsLxU1/1eJChmqkSwIwDokAHosfVz+3EMAxidxcZLxjaLqsOXKfFPCH7BvLC 7TV/5AeyHgN8Me4l5/YKJjL7pmokcCRpt8bg0zz1yCZSw/tYixkmX49L9IpDKb+oiQUCDh 2Kh3P8gPlfY/n8M0WbdQ+t5j5+RWJFdUwJnHZw96smE3gVqcP+MxHepQqjSrA+0i8OzZsX GFSv+Q7s/17h/SCrSY8wUkT0GUE1MUMwSntvIkSSmP0OqElxOaHo6FUrgzlBqtua80icTY 54B2nUHHcJ9Zxfe9uC+SKponvs50nAz50Cv0eK+vJXeBD24MgTypHPYLKiYbHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772137577; a=rsa-sha256; cv=none; b=xRE054A7pplnrCDnNo1CvInel4FfscdG9iF05UPvVXhuSqpl+BvExJPp/rwX3DvoeuJ2xS IuZbTBCo5nWj9tMUtFFvi3Dy4J2xrDW351lv0b9MSPLi7W3DBaojMsszzAmZ4AnGceFW/t kYXTZvDV0+KNbIJUXGd1wT9mTgRss8yChgnBoRSTFVhLnYQjfDSavAS+89ijdD3Fn3RNeb lGLIglP8nfDCjFp6/EhOAzxzFzJYrxId2d0WWkLhlz5XtIfm5E7I5uFf3Kcx9y2C+Kkgmp DyMpqRq3le/MAafniVIhBs0eR+h2nXHg99rmtbJWsUqnbBHcjikDssV4Tij6dQ== 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=1772137577; 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=x911/fV8fBAtQEnzwFT4pwjBkvi71bz/XBmKcFr+vJhyVznU9bzFNVsp0MN3eHQHCVGzVB 4F4f0g12lZVYOETlIfyCokOWs5UufbScbppn+LL6WER1MaVCzMnl4eu3D9Mm9lsM2LxAwg AefnC+YkAPOxY/DUjDj0RgoTyHhUzPAkd7F9lAN9gka/lMAQriU1SdboP5mwImXAEjcUtT Ark22MSmPZJkO9lJPfXsNQCpI97CBAW9bGEZh994OyGiuQ+iW7riMOqIp4ky3Spo3KCoNa +b36u2gKCAsguDXI81d86QRhKvi2yuh2aaxw+bSPTiIaOcFIfJ0l9Fi2cLorkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fMNJn0YCCznBq for ; Thu, 26 Feb 2026 20:26:17 +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 all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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