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: Wed, 04 Oct 2006 17:25:08 +0200 [thread overview]
Message-ID: <4523D254.9060006@voltaire.com> (raw)
In-Reply-To: <200610032310.k93NAGZt003069@death.nxdomain.ibm.com>
Jay Vosburgh wrote:
> Or Gerlitz <ogerlitz@voltaire.com> wrote:
>
>> Sorry, but I don't follow... by saying "would be ideal to do ***it*** this
>> way in all cases" what exactly is the "it" you are referring to?
>
> It refers to:
>
>>>>> You almost want to have some kind of call to induce a reload
>>>>> from scratch of the multicast filter settings (along with whatever else
>>>>> might be necessary to alter the hardware type on the fly), to be called
>>>>> by bonding at the time the first slave is added (since slave adds happen
>>>>> in user context, and can therefore hold rtnl as required by most of the
>>>>> multicast address handling code). That seems less hassle than having to
>>>>> specify the hardware type and address length at module load time.
>
> Having this would eliminate the need to specify the hardware
> type at load time, and would allow changing of the hardware type at
> enslave time, rather than at device up time. This requires fewer
> changes to other things, like the initscripts or ifenslave.
>
> The ideal would be to allow changing of hardware type at
> literally any time, allowing failover across dissimilar hardware types.
> That's a lot more complicated, and has a smaller pool of potential uses.
Thanks for the clarification. I would prefer first trying to go in the
direction you suggest below of changing the ifenslave program and the
kernel bonding code to allow for enslaving while the bonding device is
not UP.
>> 1st, your current recommendation to solve the link layer address
>> computation of multicast groups joined by the stack before any enslavement
>> actually takes place, is to instrument the bonding code such that it would
>> be possible to enslave devices when the bonding device is not "up" yet.
>>
>> 2nd, the change need to be worked out in the bonding sysfs code, the
>> ifenslave program but ***also*** in packages such as /sbin/ifup and
>> friends.
>
> Correct. The necessary changes to initscript and sysconfig are
> probably the most complex piece to organize (not necessarily the hardest
> to implement, but rather the most troublesome to deploy, as it
> introduces an API change).
Looking on the sysconfig package, some tools eg /sbin/if{up,down,status}
use ifenslave which is in turn provided by the iputils package.
My understanding is that changing ifenslave and the bonding kernel code
to allow for enslaving while master is not up is enough, so actually no
change is needed to the sysconfig tools, correct?
I have now removed the two assertions in the bonding code on enslaving
while master is not up and manage to work fine with IPoIB slave devices
and ***without*** the two module params!
When you have the most troublesome to deploy, the troubles you refer to
is make sure that the distros would include ***both*** the bonding
kernel changes and use an iputils package which has the ifenslave changes?
> Yes, ifenslave is still supported. It probably will be
> obsoleted some day (or replaced with a script that uses sysfs), but not
> anytime soon. As far as I know, all current distros use ifenslave to
> configure bonding.
Cool, thanks for bringing this into my attention... I understand now my
patch set should also handle the ifenslave.c source that comes with the
kernel (eg to allow for not setting the hw address etc)
Or.
next prev parent reply other threads:[~2006-10-04 15:25 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 [this message]
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
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=4523D254.9060006@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).