Subject: Re: Replacing the sysctl() interface.
To: Darren Reed <darrenr@reed.wattle.id.au>
From: Johan Danielsson <joda@pdc.kth.se>
List: tech-kern
Date: 06/05/2000 15:01:14
Darren Reed <darrenr@reed.wattle.id.au> writes:

> - support min/default/max/modulus(?) parameters for each sysctl entry.
>   This would let you enforce 0/1 on "boolean" sysctl entries such as
>   ip_forwarding, etc.  I'm thinking about modulus so that you can
>   enforce things like u-sec timers to be in lots of 1000, etc.  For
>   string types that are rw, this would be limited to default.  Some
>   other properties for nodes I'm thinking of are "ownership" (based
>   on user/group) and permissions (rwxrwxrwx) so you can setup read
>   only, read-write and write only sysctl nodes.

I think this should be done by having a function that is called when
someone is trying to set a value. That way you can enforce arbitrary
restrictions on values.

> - given it would be dynamic in nature, providing a compatible interface
>   with sysctl as it is now would require walking the entire tree.

What do you mean? Isn't it enough to map 1.2.3 to
string1.string2.string3 for the current MIB?

> - what needs to be done, if anything, to make it into a "MIB" that
> is more suited to SNMP means ?

I can't think of anything that has to be dealt with in the kernel
(other that possibly adding more values).

> ...any other ideas ?

Not at this time, but I might convince myself to help (modulo
available time).

/Johan