sysctl vs ifconfig vs other (was Re: sysctl-controlled key-value store ?)

Ian Lepore freebsd at damnhippie.dyndns.org
Sun Oct 7 16:17:15 UTC 2012


On Sun, 2012-10-07 at 17:53 +0200, Luigi Rizzo wrote:
> Access through sysctl is incredibly easy from both userspace and
> from a C application, because all the work is done in the kernel
> side, whereas other mechanisms (ioctl, i'd rather leave kvm apart
> as we really don't want that!) require the definition of a specific
> API (ioctl, structs) _and_ some amount of wrapping code in userspace.
> 
> cheers
> luigi

A potential problem with sysctl is its "one thing at a time" nature.
When you pack up a bunch of related data into a structure and hand it
off to an implementation, that implementation can pretty easily make
sure that all the data related to the config request is sane.  If you
have to make a series of sysctl calls to achieve some complex config
task, what happens when you're 2/3 of the way through the series and a
call fails?  Who backs out the partial config that got accomplished?

If you go too far down this path you end up with something that looks a
lot like the unmitigated mess which is the SNMP control API.

-- Ian



More information about the freebsd-current mailing list