From nobody Thu Nov 14 15:49:42 2024 X-Original-To: freebsd-net@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 4Xq4N73FHzz5cpy7; Thu, 14 Nov 2024 15:49:43 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Xq4N72Q5qz4kDN; Thu, 14 Nov 2024 15:49:43 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731599383; 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: in-reply-to:in-reply-to:references:references; bh=L8r6fU/MazbXMbBr7qYil67t/NvHAE7hzsIhv+uEpAY=; b=UjSFhAlvykt+Um+Kc3zsBXQ6RGJJGju5mfOxvwmrv8diGDYhoHCVecfh+pNhZtZX6buYHs zsAc430EVqd84ZJNW3fGCA47hvYj7ucsyZCoB94z09WRuXlWcipuqs+G/X/RKW0vcUtG7g YD9ZS4maJepCqi8lvkZAxqXjOM0kZELIAcxoJNbULskzFci3YFdWKydQWCe13bgQDTfMzh 4RYQSNeSETZ8ovHpj9A/5nfLE2XIxf7TUtZjyKQeWSOeFU+2Hwod/clVZuqFivUSylA+pr Zsece/ObaoSqwkFVYdixZZHdlhqAMeUQDp5Ahyjltm3vcmtfrdngLZaLWZZTOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731599383; 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: in-reply-to:in-reply-to:references:references; bh=L8r6fU/MazbXMbBr7qYil67t/NvHAE7hzsIhv+uEpAY=; b=uGXPXCqZfaR1JuLME+sa8mqvQ9XyJdiAWmT5ThVqrA2EwE8n1N7I+r3+8T5gKxsDpvTn3j TkE1i/y+DzCdn30+/G2YrAgefb6D+MRcuioQ52c8a9oftfXIMjvKc+Znz3lEyiI8cfWdP8 34+2kBL8as153S4rRNkSbDatuZm0WE689vpW45nZJgqngr8GvKCRo1yDOQtSyUK4wMczwA SPzRoybSmWy6k0+bGGLq8udGI02V8p7KY3BZQC7IsZ6omiMXvs/ydBtJOtCFu3B81u1Mz7 bU6yZW9as1eq/HWe+ukdojFWeI0qbiMCcxYBp9LzYwieneENeSngHichqAbg6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731599383; a=rsa-sha256; cv=none; b=ve1wZ+0nQ8Pc5zUV8XhuhNHp/kVTFesFpCgIBVbf/S9zw22HGocQ3k8wJ8ODM/Cm4zl+5A e2OrpOpi2Jg3utf+S6b6IKzATcJNdO2KJ4EJGAtPIXvO3Rw1Gr9qQVduN1rhcTLCVvBFCC 54T30IYvM954v7EeaLzn6n6kjwDv7hakbreqHHSZcQSnSm0bPM+jkbDgBMYP4QrJ7tHw26 9hKOve25o2fFSasMHS+iYaFbwmBkVzE2B9yxTCT1794Z6Hd6kW9+J+V5A5iVuI5134sC4s pQ8G2pfzetlmm4qBEst4k+Fn6ZYJIsQzSP+ItVmvNU6MEyhFGVo+B1AoZd1kQQ== Received: from ralga.knownspace (unknown [IPv6:2600:2b00:a720:d301:9f03:382a:d672:81f0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhibbits) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Xq4N716lmz11Jf; Thu, 14 Nov 2024 15:49:43 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Date: Thu, 14 Nov 2024 10:49:42 -0500 From: Justin Hibbits To: , Subject: Re: struct ifnet is now hidden Message-ID: <20241114104942.31be0431@ralga.knownspace> In-Reply-To: <20241113143829.68bfbf8c@ralga.knownspace> References: <20241113143829.68bfbf8c@ralga.knownspace> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.43; powerpc64le-unknown-linux-gnu) List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 13 Nov 2024 14:38:29 -0500 Justin Hibbits wrote: > Hi everyone, > > Many thanks to everyone involved, either fixing ports, reviewing > changes, or assisting with the API, struct ifnet is now hidden from > drivers and userspace. This means drivers now use the IfAPI, > currently largely consisting of just getters and setters in place of > direct access, with tools/ifnet/convert_ifapi.sh being a good > starting point for adapting drivers. > > In struct ifnet's place is if_t, an opaque pointer. "Blessed" parts > of the kernel, effectively anything sys/net*, modulo sys/netlink, can > directly access it, as those directories comprise the network stack, > so need direct access, as they manage the interfaces. Manpage updates > will be coming "soon", I'm hoping in the next few weeks, and will > likely need lots of review and editing. > > Again, thanks for everyone's help. I hope the road forward with this > is not too bumpy. > > - Justin > Follow-up. olivier@ reminded me that I hadn't bumped __FreeBSD_version, so I just did that (1500027 now). Though the IfAPI has been pretty much baked for a year, this will represent the point where struct ifnet is no longer available to the general audience. - Justin