From: Or Gerlitz <ogerlitz@voltaire.com>
To: Jay Vosburgh <fubar@us.ibm.com>
Cc: netdev@vger.kernel.org, Roland Dreier <rdreier@cisco.com>
Subject: Re: [RFC] [PATCH 3/3] enable IP multicast when bonding IPoIB devices
Date: Mon, 09 Oct 2006 15:15:45 +0200 [thread overview]
Message-ID: <452A4B81.4040302@voltaire.com> (raw)
In-Reply-To: <200610051813.k95IDvZt031303@death.nxdomain.ibm.com>
Jay Vosburgh wrote:
> After some reflection, I suspect it wouldn't be all that awful.
> The main concern is going to be whether or not the existing ifenslave
> binaries supplied with distros will run with the new version of bonding.
> Since the new version of bonding that you're proposing is really just
> relaxing the rules (rather than imposing a different, incompatible set
> of rules), that's probably not a really big deal. I don't think it
> would require a revision change to the bonding ifenslave API.
Indeed, makes sense, the modified bonding driver would work with old
ifenslave binaries.
> Yes, the long term direction is to have the initscripts
> configure bonding via sysfs, either directly or via the step of
> converting ifenslave to a script that uses sysfs.
> I personally find ifenslave to be more convenient to use than
> repeated "echo whatever > /sys/this/that/the/other", but there's no
> reason that ifenslave couldn't do the various echo things itself under
> the covers.
> One drawback to sysfs is that there's no real-time error
> reporting; you have to look at dmesg to see if your request succeeded or
> not. I'm not sure offhand if, e.g., adding a sysfs file to bonding for
> "last-request-status" is a kosher sysfs thing to do; if it is, then an
> ifenslave script could check such a thing to figure out error returns.
Can you check that with someone around?
>
> It seems more logical to me to embed all of the bonding sysfs
> magic stuff into a separate script, but the maintainers of initscipts or
> sysconfig may see things differently.
>
> The main advantage to either of these (initscripts/sysconfig
> and/or ifenslave converted to sysfs) is that it eliminates the need to
> load the bonding driver module multiple times to have more than one
> bonding device with differing module parameters (because the sysfs
> interface can create any number of bonding interfaces with arbitrary
> settings).
>
>> I will look into the current methods used by sysconfig to configure
>> bonding and see if i can come up with sketch of how to do it with sysfs.
>
> It's probably easier to first convert ifenslave to a sysfs-using
> script that the existing initscripts can use.
>
> This allows the changes to be published in stages, rather than
> requiring a single flag day changeover. The first stage changes the
> bonding driver itself to permit enslavement with the master down
> (insuring that existing ifenslave binaries supplied with reasonably
> current distros continue to function). Next, ifenslave is changed to
> use sysfs (simultaneously removing the adjustment of the master or
> slave's up/down state during enslavement). The next stage either
> changes the initscripts/sysconfig to use sysfs directly or change its
> use of ifenslave to not do multiple loads of the bonding driver.
This plan makes much sense! however, this way or another (ie whether
sysconfig tools are modified to use sysfs or ifenslave becomes a script
that uses sysfs) there should be a change to sysconfig tools
(specifically /sbin/ifup) in the place where it first makes the bonding
interface UP and only later enslave the slave devices (eg the quote
below from /sbin/ifup of sysconfig-0.50.9-13.8 that comes with SLES10)
correct?
> # get up the bonding device before enslaving
> # if ! is_iface_up $INTERFACE; then
> ip link set $INTERFACE up 2>&1
> # fi
> # enslave available slave devices; if there is none -> hard break and log
> MESSAGE=`/sbin/ifenslave $BONDING_OPTIONS $INTERFACE $BSINTERFACES 2>&1`
So this becomes the forth step on the plan. And the most fragile aspect
of the plan is the fact that ***two*** packages need to be changed as
/sbin/ifenslave is not part of sysconfig but rather of (eg on SLES10)
iputils-ss021109-167.2
Or.
prev parent reply other threads:[~2006-10-09 13:15 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-26 10:16 [RFC][PATCH 0/3] bonding support for operation over IPoIB Or Gerlitz
2006-09-26 10:17 ` [RFC][PATCH 1/3] enable bonding to enslave non ARPHRD_ETHER netdevices Or Gerlitz
2006-09-26 19:23 ` Jay Vosburgh
2006-09-27 19:59 ` Or Gerlitz
2006-09-28 17:02 ` Jay Vosburgh
2006-10-03 12:56 ` Or Gerlitz
2006-09-26 10:17 ` [RFC][PATCH 2/3] enable bonding to enslave netdevices not supporting set_mac_address() Or Gerlitz
2006-09-26 10:18 ` [RFC] [PATCH 3/3] enable IP multicast when bonding IPoIB devices Or Gerlitz
2006-09-26 17:05 ` Stephen Hemminger
2006-09-27 20:16 ` Or Gerlitz
2006-09-26 23:40 ` Jay Vosburgh
2006-09-27 20:12 ` Or Gerlitz
2006-09-28 17:43 ` Jay Vosburgh
2006-10-03 13:06 ` Or Gerlitz
2006-10-03 23:10 ` Jay Vosburgh
2006-10-04 15:25 ` Or Gerlitz
2006-10-04 17:34 ` Jay Vosburgh
2006-10-05 14:56 ` Or Gerlitz
2006-10-05 18:13 ` Jay Vosburgh
2006-10-09 13:15 ` Or Gerlitz [this message]
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=452A4B81.4040302@voltaire.com \
--to=ogerlitz@voltaire.com \
--cc=fubar@us.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=rdreier@cisco.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).