From nobody Fri Jan 23 22:36:38 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 4dyXpt4Dfhz6PsVh for ; Fri, 23 Jan 2026 22:36:38 +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 4dyXpt3jMjz3qwK for ; Fri, 23 Jan 2026 22:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769207798; 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=cL+S0dDg9Ois0L8RAR16IL4hwbTE7dwbHU+S/8ee+kE=; b=K9itqxubAzC2OqTbXGQCEDr5IDmt13mG3JGV/raW9fIYJuw7NFQ2bCAc8LI1jz8lz8z4rw 2TsPomIN4PPMBX4XmIdOnIx8FRGQG+pYLhBoIra7jYYn8LdVFwDd8vXrBF0wN0nUojOtXD dd+g2y5vulMYTNBetd11NofKY92W9XsdEfrdmXapLa6gZALQeBy6dOuVyLwposDQzCL+QB 1FJAqgLHi1G/INsCog1vtISjr4AlK64GmZ5/P53V6baizuVVHIV3W9hyFUfQ2+G8SrZh4L 2x1S3sXs8AH7WqBnFcVHlAVcUNV1R+YhVH4QMXOzo+0lNeFY/aM6GtrmI7RX7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1769207798; 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=cL+S0dDg9Ois0L8RAR16IL4hwbTE7dwbHU+S/8ee+kE=; b=o3mlkERFINkKsfU34rSn8p1rSuiLKeuD71oZeJiy1DMVO1FH9gA9nXgULH5BrotTjGwbzI vDTf1rMEsuZmch61H4savMJAQKLkaAte/4Jnb4yqMtDJmweWP95wU1LZdtUW8adMOBa2Uy NQ+R7JagYLBR17vntE5Fvu7OgfSaBtc71fK0VUPEF4bf7ViG4bmM2FiyUlX0bSwOF7JoDp PxeAmYq+lBsgUuyQns5Dbz48SVL0jbP39LQdxP8xss2BKOYzWKBcwmWEUcLdbLAG6aT4W1 hIgjb80gsAnni789nBXBWfdZReFP/IIOZd8JRgd/8aPBF8m1bR7OA6zztBHigQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1769207798; a=rsa-sha256; cv=none; b=vGbUdv92EuIit5lV+MFQEOJTrJX1TCzAZOmauou7QmeDP9E3/sNg4u+K2Qx+m9a+sBNx2s 9/rogR20TlmkUa25fe9ls4Y7C/aSNA0tU/DSfmC/G13sOdQo+Tcnhbw0DntaXyNvGuCMui 9kr/0gVMRxtLwuh0ix5F++S3K1hH/9cBmcnOQ4zv+NDBUP/d+t82iJVm2Vh3lofc8TBVhh Rf+y5I6qavMItSeZm+rRmp8dCQg8sZjJPKU8dEhiPFgLvyatEHZvY+zfcqg0iahnMVo78J IQwr+m4wBpT1OfMJsY/Mnw0dUSwXQ1zfoxyp5iUjjYLLVyPSoUxqndRN0bnbgQ== 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 4dyXpt3HMszdZB for ; Fri, 23 Jan 2026 22:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36730 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 23 Jan 2026 22:36:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 6857b3a04e59 - main - netinet6: embed struct nd_ifinfo into struct in6_ndireq 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6857b3a04e59d178f7716ba409d08a57f850ffcf Auto-Submitted: auto-generated Date: Fri, 23 Jan 2026 22:36:38 +0000 Message-Id: <6973f7f6.36730.66240dad@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6857b3a04e59d178f7716ba409d08a57f850ffcf commit 6857b3a04e59d178f7716ba409d08a57f850ffcf Author: Gleb Smirnoff AuthorDate: 2026-01-23 22:16:42 +0000 Commit: Gleb Smirnoff CommitDate: 2026-01-23 22:16:42 +0000 netinet6: embed struct nd_ifinfo into struct in6_ndireq There is no functional change here, but we'd like to emphasize that the nd_ifinfo structure is not a actually a kernel ND6 software context, despite being actively used like this way, but an API/ABI structure for ioctl(2). This should prevent from a ABI breakages like in 31ec8b6407fd. This also is a step towards stopping using it as a kernel software context. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D54722 --- sys/netinet6/nd6.h | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index 0f61e167f480..28de6e2ae153 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -62,22 +62,6 @@ struct llentry; #define ND6_IS_LLINFO_PROBREACH(n) ((n)->ln_state > ND6_LLINFO_INCOMPLETE) #define ND6_LLINFO_PERMANENT(n) (((n)->la_expire == 0) && ((n)->ln_state > ND6_LLINFO_INCOMPLETE)) -struct nd_ifinfo { - u_int32_t linkmtu; /* LinkMTU */ - u_int32_t maxmtu; /* Upper bound of LinkMTU */ - u_int32_t basereachable; /* BaseReachableTime */ - u_int32_t reachable; /* Reachable Time */ - u_int32_t retrans; /* Retrans Timer */ - u_int32_t flags; /* Flags */ - int recalctm; /* BaseReacable re-calculation timer */ - u_int8_t chlim; /* CurHopLimit */ - u_int8_t initialized; /* Flag to see the entry is initialized */ - /* the following 3 members are for privacy extension for addrconf */ - u_int8_t randomseed0[8]; /* upper 64 bits of MD5 digest */ - u_int8_t randomseed1[8]; /* lower 64 bits (usually the EUI64 IFID) */ - u_int8_t randomid[8]; /* current random ID */ -}; - #define ND6_IFF_PERFORMNUD 0x1 #define ND6_IFF_ACCEPT_RTADV 0x2 #define ND6_IFF_PREFER_SOURCE 0x4 /* Not used in FreeBSD. */ @@ -139,9 +123,29 @@ struct in6_prefix { /* struct sockaddr_in6 advrtr[] */ }; -struct in6_ndireq { +struct in6_ndireq { char ifname[IFNAMSIZ]; - struct nd_ifinfo ndi; + struct nd_ifinfo { + uint32_t linkmtu; /* LinkMTU */ + uint32_t maxmtu; /* Upper bound of LinkMTU */ + uint32_t basereachable; /* BaseReachableTime */ + uint32_t reachable; /* Reachable Time */ + uint32_t retrans; /* Retrans Timer */ + uint32_t flags; /* Flags */ + int recalctm; /* BaseReacable re-calculation timer */ + uint8_t chlim; /* CurHopLimit */ + /* + * The below members are not used. They came from KAME and + * are hanging around to preserve ABI compatibility of the + * SIOCGIFINFO_IN6 ioctl. + * The original comment documented the random* members as a + * privacy extension for addrconf. + */ + uint8_t initialized; /* compat: always 1 */ + uint8_t randomseed0[8]; /* upper 64 bits of MD5 digest */ + uint8_t randomseed1[8]; /* lower 64 bits (the EUI64 IFID?) */ + uint8_t randomid[8]; /* current random ID */ + } ndi; }; struct in6_ndifreq {