Hi Greg,
Please document all sysfs files with a Documentation/ABI/ entry. You can put it in the drivers/staging/batman-adv/ directory for now.
Also note, binary sysfs files are for things that are "pass-through", not for things that you try to intrepret like I think you are doing here. What's wrong with configfs for something like this?
I drafted the ABI documentation which you will find attached to this mail. Since this is my very first attempt I'd appreciate feedback from your side before we submit it. I looked at various existing ABI docs in the linux kernel tree to get an idea how it should look like. Bear with me if it is not perfect yet. ;-)
Regarding the question which kernel configuration interface to use, we would be more than happy to receive some guidance. At this point we are rather unsure which of the many (procfs/sysfs/configfs/etc) filesystems are we supposed to go forward with. To better judge our case I recommend reading this page http://www.open-mesh.org/wiki/tweaking-batman-adv as it explains the purpose of the various sysfs files.
Right now, I would say that configfs does not belong to my favorite solutions, simply because it seems to be a rather new/uncommon choice. Batman's main deployment field are embedded devices (mostly low cost routers) that have quite some contraints regarding cpu power and available disk space. Typically, those systems try to deactivate all "unnecessary" functionality in the kernel to have a few more bytes available for other stuff. For example OpenWRT: They deactivated configfs on all platforms (except one). I fear we create more problems than we solve if we go down this path.
Cheers, Marek