OK, let's see.
In the code: Hm, no TODO or FIXME.
In the included documentation:
Documentation/networking/bonding.txt:
Module options, modprobe.conf, or 'distro-specific
configuration file', ifenslave, or sysfs.
Documentation/networking/ip-sysctl.txt:
sysctl, obviously.
Documentation/networking/generic_netlink.txt
Hey, here's netlink! Doucmentation points only to a wiki. Referred
to by zero other included in-kernel documentation.
Well, that's helpful.
Let's try the OSDL web!
http://www.linuxfoundation.org/en/Net:Bridge
brctl (which uses ioctl and sysfs). And /etc/net.
http://www.linuxfoundation.org/en/Net:Bonding
Module parameters only, including the lovely 'load driver multiple times'
method. Doesn't even mention sysfs.
http://www.linuxfoundation.org/en/Net:VLAN
vconfig
I could look at wireless network configuration, but I doubt that's going to
help your argument.
Well, if the documentation that described this as the standard existed,
or wasn't such crap, perhaps you wouldn't have to.
That being said, how is moving from adding a bonding slave from:
echo "+eth0" > /sys/class/net/bond0/bonding/slaves to:
to:
http://www.linuxfoundation.org/en/Net:Generic_Netlink_HOWTO
a worthwhile improvement for the admin? Let's see, a kernel-userspace
protocol with magic message formats. Hey, we reinvented ioctl!
Why, if netlink is the standard (and it's been around for a long
damn time), was sysfs configuration for bonding added in 2005? Why
was bridge configuration added in 2005, and *extended* in 2006 and
2007? Why were the user-space tools such as brctl ported from ioctl
to sysfs?
Bill
--