netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Amir Noam <amir.noam@intel.com>
Cc: bonding-devel@lists.sourceforge.net, netdev@oss.sgi.com,
	hadi@cyberus.ca, Ben Greear <greearb@candelatech.com>
Subject: Re: [bonding] Add basic support for dynamic configuration of bond interfaces
Date: Sun, 11 Jan 2004 14:39:19 -0500	[thread overview]
Message-ID: <4001A667.2020904@pobox.com> (raw)
In-Reply-To: <200401111628.07930.amir.noam@intel.com>

Amir Noam wrote:
> The new SIOCBONDING ioctl handles commands aimed for the bonding 
> module (and not to any specific bonding interface). This is done via 
> an ioctl hook that captures these commands at the socket level 
> (before dev_ioctl()) and passes it to the bonding code. Such commands 
> do not require opening a bonding interface at all, just a valid 
> socket to send the ioctl.

Right.  And this last requirement is spurious.  The operation is 
essentially "open a socket unrelated to X, to perform actions on X".

bonding (and it sounds like VLAN too) needs a specific, well-known 
control point, for controlling module-level data such as the creation 
and deletion of interfaces.

One such well-known control point would be a /dev node.  Jamal's 
suggestion is also an excellent one:  let userspace use netlink to 
communicate with a well known "address" inside the kernel, which would 
work as the central (and thus bonding-module-wide) bonding control 
interface.


> I was trying to follow the example of several other network modules 
> (e.g. vlan, dlci, bridge) that use a socket level ioctl hook to 
> handle such deviceless commands.
> 
> Do you think that a char device is preferrable, given that other 
> similar modules use a socket ioctl hook?

If vlan/dlci/bridge has similar requirements to described above ("open 
socket unrelated to X, to perform actions on X") then they need to be 
fixed up too.

Opening a random socket to use an ioctl(2) to produce some magic 
behavior is just ugly, and we need to avoid that.  Maybe bgreear would 
be open to updating VLAN's interface to netlink at the same time, for 
example?  That would allow us (us==netdev) to understand all angles and 
implications of a good interface design.  VLAN AFAICS has a similar 
requirement:  need an interface _unrelated_ to specific VLAN interfaces, 
to control VLAN interfaces.  And netlink certainly works as a control 
protocol :)

	Jeff

  parent reply	other threads:[~2004-01-11 19:39 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E6F7D288B394A64585E67497E5126BA601F991D1@hasmsx403.iil.intel.com>
2004-01-11 14:28 ` [bonding] Add basic support for dynamic configuration of bond interfaces Amir Noam
2004-01-11 18:30   ` jamal
2004-01-11 19:39   ` Jeff Garzik [this message]
2004-01-11 21:34     ` Ben Greear
2004-01-11 21:59       ` Jeff Garzik
2004-01-11 22:50         ` jamal
2004-01-11 22:51         ` Ben Greear
2004-01-12  0:13         ` Jason Lunz
2004-01-13  2:34           ` Jeff Garzik
2004-01-12 12:38         ` Andi Kleen
2004-01-12 13:51           ` jamal
2004-01-12 15:04             ` Andi Kleen
2004-01-13 12:28               ` jamal
2004-01-13 12:39                 ` Andi Kleen
     [not found] <E6F7D288B394A64585E67497E5126BA601F991D3@hasmsx403.iil.intel.com>
2004-01-14 15:00 ` Amir Noam
2004-01-08 16:19 Amir Noam
2004-01-11  1:34 ` Jeff Garzik
2004-01-12 17:23   ` Ben Greear

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4001A667.2020904@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=amir.noam@intel.com \
    --cc=bonding-devel@lists.sourceforge.net \
    --cc=greearb@candelatech.com \
    --cc=hadi@cyberus.ca \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).