From nobody Fri Jan 23 22:36:39 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 4dyXpv6GK0z6PspN for ; Fri, 23 Jan 2026 22:36:39 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dyXpv4bNPz3qqv for ; Fri, 23 Jan 2026 22:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769207799; 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=RZgTjKNY8ddGIEDEPk0vZjs4Yo33o4UVuqZ0IesioXQ=; b=ps1sgWa4XCPfmUtIBbnEtlNRoRnAtwJFfzbnvYX1KS8URaIDDurDZXhV4p7Nj1YIKBQWyd Lij4Iof3AMTKc0Ls6BBqUEVRSnQn74OHg7r3AUCoP8xN7VIPfZvt6wiq2ifPSnuii4UJpK YxtdyBve8k6iIDk2Su6+e/HTrRHK48mrwToS/peqnsH5e59aEePUsA6Lp/TQXSEEEsIl3s ihhSjT18znOivhQsHaWMEjXm5e8vTF8kx9WV6VKFt4vhaJB9XsUwjh9ylmN6M1KNPV5hv/ to3w14G1CoLVBgUcw6KQXkru2gUwxeN8y3HEHIYGjgS0hCr9xOxF/K7/Y4YNEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769207799; 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=RZgTjKNY8ddGIEDEPk0vZjs4Yo33o4UVuqZ0IesioXQ=; b=f73o2T3FEb7EuIe4ARZwiwjbE2+OT25gO98fMaFdizyEYnBjxx7RGBssbMce/fBTlgcgYe XQ0WcCxKppTzMKAAZBYWT20fov7Dvlc4cCNsYJ5u3X5UUq1xr6MijSn7JS0s7Nb0G2sXqK kz/ZVHT+T4WHajU4qdEkJFvcWgVEMy/V0rkCgLDOTNjaMFlYOBzDfIFmjW2QaiHzMM9V02 f61u8fKhhuUYj43a92c6a2mzjMWa48DeMWoL+kVFgf7eiLVx8soapP7odAyEMS8CJWUH8j 6mBHXuwrLzt7ii6PpXYvHzyGKgWsX9y7Mbc6ljqfuFDI50WpfvliMPocUEahPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769207799; a=rsa-sha256; cv=none; b=euFySGZlM/foF/dFC55Z9i9CrsVGKQQrmysMqMJhMgNBb1Rcx5FWtkXN4VKlUzfeoPBCm8 TKieJrM+Co5eRBiyD6BozTyhLph9pyROW25H/VGb8deIS8n8tqQE84FhBLFZGfREhVYUJv UnJEwigVcw8Zb3JOKaCbWELtw5t1UyzrytoJwAslrs6SgvuasYSjPcbOYplneBrOpr8wDt 6WqbhpKrLty79jU4wTDctgQmsrYz1Uc/IpCeZOUAf8sAE/DGmHU6Fslods+XSptvFVD7r2 x+dOZofH0/+w1BG8GDcOeS4xUytV0/aOHkzFQAtRx4TcROVmNC3SfY70NlYpRw== 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 4dyXpv474JzdnC for ; Fri, 23 Jan 2026 22:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3771e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 23 Jan 2026 22:36:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 3182dc411788 - main - netinet6: embed the counter(9) arrays in struct in6_ifextra 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3182dc411788ea690d557f9e16083dcaf38ddab0 Auto-Submitted: auto-generated Date: Fri, 23 Jan 2026 22:36:39 +0000 Message-Id: <6973f7f7.3771e.4a6d28ef@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=3182dc411788ea690d557f9e16083dcaf38ddab0 commit 3182dc411788ea690d557f9e16083dcaf38ddab0 Author: Gleb Smirnoff AuthorDate: 2026-01-23 22:17:10 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-23 22:17:10 +0000 netinet6: embed the counter(9) arrays in struct in6_ifextra Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D54723 --- sys/netinet/icmp6.h | 3 +-- sys/netinet6/in6.c | 6 ------ sys/netinet6/in6_ifattach.c | 2 -- sys/netinet6/in6_var.h | 36 +++++++++++++++++------------------- 4 files changed, 18 insertions(+), 29 deletions(-) diff --git a/sys/netinet/icmp6.h b/sys/netinet/icmp6.h index 082ef5d29ce9..9ed39d118c16 100644 --- a/sys/netinet/icmp6.h +++ b/sys/netinet/icmp6.h @@ -717,8 +717,7 @@ int icmp6_ratelimit(const struct in6_addr *, const int, const int); #define icmp6_ifstat_inc(ifp, tag) \ do { \ if (ifp) \ - counter_u64_add(((struct in6_ifextra *) \ - ((ifp)->if_inet6))->icmp6_ifstat[ \ + counter_u64_add((ifp)->if_inet6->icmp6_ifstat[ \ offsetof(struct icmp6_ifstat, tag) / sizeof(uint64_t)], 1);\ } while (/*CONSTCOND*/ 0) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 43452525e992..40bc286f3ab2 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -2610,14 +2610,8 @@ in6_ifarrival(void *arg __unused, struct ifnet *ifp) ext = (struct in6_ifextra *)malloc(sizeof(*ext), M_IFADDR, M_WAITOK); bzero(ext, sizeof(*ext)); - ext->in6_ifstat = malloc(sizeof(counter_u64_t) * - sizeof(struct in6_ifstat) / sizeof(uint64_t), M_IFADDR, M_WAITOK); COUNTER_ARRAY_ALLOC(ext->in6_ifstat, sizeof(struct in6_ifstat) / sizeof(uint64_t), M_WAITOK); - - ext->icmp6_ifstat = malloc(sizeof(counter_u64_t) * - sizeof(struct icmp6_ifstat) / sizeof(uint64_t), M_IFADDR, - M_WAITOK); COUNTER_ARRAY_ALLOC(ext->icmp6_ifstat, sizeof(struct icmp6_ifstat) / sizeof(uint64_t), M_WAITOK); diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index c3d256a8d51f..194033ee7808 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -922,10 +922,8 @@ in6_ifdeparture(void *arg __unused, struct ifnet *ifp) lltable_free(ext->lltable); COUNTER_ARRAY_FREE(ext->in6_ifstat, sizeof(struct in6_ifstat) / sizeof(uint64_t)); - free(ext->in6_ifstat, M_IFADDR); COUNTER_ARRAY_FREE(ext->icmp6_ifstat, sizeof(struct icmp6_ifstat) / sizeof(uint64_t)); - free(ext->icmp6_ifstat, M_IFADDR); free(ext, M_IFADDR); } EVENTHANDLER_DEFINE(ifnet_departure_event, in6_ifdeparture, NULL, diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 8881885ecf86..1e0b6c0ed29e 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -93,25 +93,6 @@ struct in6_addrlifetime { u_int32_t ia6t_pltime; /* prefix lifetime */ }; -struct nd_ifinfo; -struct scope6_id; -struct lltable; -struct mld_ifsoftc; -struct in6_multi; - -struct in6_ifextra { - counter_u64_t *in6_ifstat; - counter_u64_t *icmp6_ifstat; - struct nd_ifinfo *nd_ifinfo; - struct scope6_id *scope6_id; - struct lltable *lltable; - struct mld_ifsoftc *mld_ifinfo; - u_int dad_failures; /* DAD failures when using RFC 7217 stable addresses */ -}; - -#define LLTABLE6(ifp) ((ifp)->if_inet6->lltable) -#define DAD_FAILURES(ifp) ((ifp)->if_inet6->dad_failures) - #ifdef _KERNEL SLIST_HEAD(in6_multi_head, in6_multi); @@ -507,6 +488,23 @@ struct in6_rrenumreq { #endif #ifdef _KERNEL +/* + * Structure pointed at by ifp->if_inet6. + */ +struct in6_ifextra { + counter_u64_t in6_ifstat[sizeof(struct in6_ifstat) / sizeof(uint64_t)]; + counter_u64_t icmp6_ifstat[sizeof(struct icmp6_ifstat) / + sizeof(uint64_t)]; + struct nd_ifinfo *nd_ifinfo; + struct scope6_id *scope6_id; + struct lltable *lltable; + struct mld_ifsoftc *mld_ifinfo; + u_int dad_failures; /* DAD failures when using RFC 7217 stable addresses */ +}; + +#define LLTABLE6(ifp) ((ifp)->if_inet6->lltable) +#define DAD_FAILURES(ifp) ((ifp)->if_inet6->dad_failures) + VNET_DECLARE(struct in6_ifaddrhead, in6_ifaddrhead); VNET_DECLARE(struct in6_ifaddrlisthead *, in6_ifaddrhashtbl); VNET_DECLARE(u_long, in6_ifaddrhmask);