From nobody Thu Apr 16 16:51:33 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 4fxPDQ1N1Sz6ZDlP for ; Thu, 16 Apr 2026 16:51:34 +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 4fxPDQ0S0Lz3WwH for ; Thu, 16 Apr 2026 16:51:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776358294; 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=4E1ZQMW9SBd8GljF9zpVRBVbEbZ5pMT0qhgQiuWC+lE=; b=X04JUknQpFg9b+9INTE1BDQ1O3Fkqx9kHQZhUV4ZWkCOnN76Ue0pXRQJpsPuxHEMydL6us Gep5Z1UvDh1QAcQzBAVIdlD2/SQdjc/ayajmMxNuuGpgW1qC0yhuFREXyZ9+68fZS6zVB5 rEcvN4p9+MXaVoU967dCoLm95apf05axuKiHeR/3JTR8Csgh2F7S16SS7FsP8v8BvxU6EB d7dsOG9MYLs72GLL73B/WQ1IfvLUb+WujEDm3OnP4h1ugz9ChBzbVFNwW2kQ8XzfLcYgbu GWvaTdI6ymDrZLs2YFddhMf8uSjZjYELbvHE+PJBTOta/KGphVFPVink6DayUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776358294; a=rsa-sha256; cv=none; b=T4DXkLQHFHY9E++7tK8DZ0MMsaJ4iMWvE+QeXAeoT3wRbMiscZQMBvCqImnfwW8B20ql7W aGIuc21K5De67KqKrgbla9xhxEWTKicLtvi8qVUqvQov34TwFV99ht/IoQiQ83FKHVHIYw tfsSoKMHvKADekqLTQr9xk8pOaDTBVgyGanGyGt0lsczPwMTnUVi5Syk0otyPb6oGNspL1 htfT2x2Gi4bKpUn6v/Xh+F69Bvvd4W8Bmlqkx574oDTNORGzbe1/b17CPEzGNK/+DYEJiX Pi51kihf9gdnINFjeYSe+OPNQCN5RR7nRSg9YqSCHzJFlep3gZnfZHqbXq+QMQ== 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=1776358294; 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=4E1ZQMW9SBd8GljF9zpVRBVbEbZ5pMT0qhgQiuWC+lE=; b=vwoKxWxKg+SvUjGS30nipAkSTFOdekOt8U8lPWKyR5L/yp0kkEOvpptKqo/EamJ15BBPDs 9yom42et1zSExzD2Ar3X+W23O+cVKsCdA8aog4AVP4X2aRsSiOewUdugLR/ympQ6XEtcjN +oJ3yE8ARDcyN3+zumrspUrX/IUhoV93PmCRMmNtMfJPVypVyhNItRmhq9XK6yoQQkBxfJ on+FMZmmJKIX7mgaAgfYtqzSOB5b9joPgN6Yj4QfFdZwd5WAtDoMD4muz3J3LA9Wn8z8Uq jUDL5qV0xwU6jeDdKmpHjSqTOm9yykKVXVbOpW0lL9fxUyMJRTyrnYAMLA9KPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fxPDP6vjWz18W for ; Thu, 16 Apr 2026 16:51:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31588 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 16 Apr 2026 16:51:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 547d7095fac1 - stable/14 - 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 547d7095fac1395664aaa41ffae032ffe7b6a783 Auto-Submitted: auto-generated Date: Thu, 16 Apr 2026 16:51:33 +0000 Message-Id: <69e11395.31588.647d7280@gitrepo.freebsd.org> The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=547d7095fac1395664aaa41ffae032ffe7b6a783 commit 547d7095fac1395664aaa41ffae032ffe7b6a783 Author: Mark Johnston AuthorDate: 2026-02-26 20:25:35 +0000 Commit: Mark Johnston CommitDate: 2026-04-16 16:48:50 +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 (cherry picked from commit 5547a7bb39accd8f151b53e90b41d13b55f84c95) --- 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 78ca36fc2a0f..b9a9f0edc946 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_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