Subject: Re: [bonding] Add basic support for dynamic configuration of bond interfaces

From: Jeff Garzik <[email-masked]>
Date: Sat, 10 Jan 2004 20:34:48 -0500

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