Amir Noam wrote:
The following patch sets provide basic support for future bonding
operations (specifically for dynamic configuration of bonding
interfaces).
This is done by adding two new bonding ioctls: one for deviceless
commands (an ioctl hook) and one for device oriented commands. Like
ethtool, the first u32 value in the data structure will indicate the
exact sub-command to be executed.
The sets are against the latest netdev-2.4 and net-drivers-2.5-exp
trees.
I don't disagree with the overall goal of these patches, but I think we
might need to pause a bit, and consider how best to configure, add, and
remove bonding interfaces, if we are coming up with a new interface.
For configuration tasks that occur outside the scope of a single bonding
interface (i.e. a single struct net_device), you need a separate entity
from a socket ioctl. It's not ideal at all to configure N objects using
a special ioctl ... when opening one of said objects :)
I would suggest a simple character device (misc_register), and let the
userland application configure settings unrelated to a single object.
For a configuring state related to a _single_ bonding interface (i.e. a
single net_device), socket ioctls are OK.
Jeff
|