Subject: Re: Replacing the sysctl() interface.
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 06/06/2000 12:28:37
[ On Wednesday, June 7, 2000 at 01:46:18 (+1000), Darren Reed wrote: ]
> Subject: Re: Replacing the sysctl() interface.
>
> In FreeBSD they use the symbol table as a means for registering sysctl's.
> 
> Let me know if you want a brown paper bag.

Yeah!

In general though it doesn't really matter how many silly tricks the
underlying implementation plays so long as the result is something that
meets the requirements.  I.e. if the goal is to allow third party
developers to easily add to the information tree (regardless of how it's
accessed) from a private driver then so long as that's provided for in
an extensible and usable way then I'm happy.

At the time I first implemented my LM7X driver in FreeBSD-2.1.8 (and
then later in NetBSD), neither FreeBSD nor NetBSD provided for really
easy extension of sysctl or /kernfs namespace and thus I fell back to
the well understood and workable scheme of using ioctl() [even though I
still had to hard-code a new device major number, and doing so in NetBSD
was, and is, *FAR* more intrusive than in FreeBSD in terms of having to
patch "central" source files].  At that time there was even a big
warning comment in FreeBSD that effectively said the sysctl() interface
was in dire need of deep re-thinking.

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>