Background: * I need a way to store driver-specific tunables, whose values may vary from one instance to another, and may be changed by an administrator from time to time.
* This is for audio drivers, and the tunables may cover things like jack configuration (e.g. the orange jack is digital in, or its for a subwoofer), or other things (like default volume levels). What I need, is not unlike what Brussels provides for NIC drivers. driver.conf(4) is unsuitable for a number of reasons -- not least of which is that it is unwieldy for administrators, particularly when attempting to use it for configurations specific to a particular audio port. Brussels stores this configuration data in a file in /etc, administered via dladm and uses a daemon and door upcall to synchronize kernel and userland/filesystem accesses. It *seem* to me, that a potentially superior way to handle this, at least for my needs, is to figure out who to use SMF service properties. The challenge becomes getting access to such properties from the kernel, and notification in the kernel when certain properties are added or changed. Has anyone given this wider thought? Any places in particular I should look? Should I use something someone else is doing? Or should I look into creation of a kernel/SMF synchronization service? Or should I just go the same route that Brussels took, and invent my own data store and backing daemon? Any thoughts are greatly appreciated. -- Garrett