From: Jay Vosburgh <fubar@us.ibm.com>
To: netdev@vger.kernel.org, rdreier@cisco.com, monis@voltaire.com
Cc: monisonlists@gmail.com, ogerlitz@voltaire.com, jgarzik@pobox.com,
davem@davemloft.net, general@lists.openfabrics.org,
Moni Shoua <monis@voltaire.com>
Subject: [PATCH 07/11] net/bonding: Enable IP multicast for bonding IPoIB devices
Date: Fri, 14 Sep 2007 16:40:26 -0700 [thread overview]
Message-ID: <11898132441599-git-send-email-fubar@us.ibm.com> (raw)
In-Reply-To: <1189813242354-git-send-email-fubar@us.ibm.com>
From: Moni Shoua <monis@voltaire.com>
Allow to enslave devices when the bonding device is not up. Over the discussion
held at the previous post this seemed to be the most clean way to go, where it
is not expected to cause instabilities.
Normally, the bonding driver is UP before any enslavement takes place.
Once a netdevice is UP, the network stack acts to have it join some multicast groups
(eg the all-hosts 224.0.0.1). Now, since ether_setup() have set the bonding device
type to be ARPHRD_ETHER and address len to be ETHER_ALEN, the net core code
computes a wrong multicast link address. This is b/c ip_eth_mc_map() is called
where for multicast joins taking place after the enslavement another ip_xxx_mc_map()
is called (eg ip_ib_mc_map() when the bond type is ARPHRD_INFINIBAND)
Signed-off-by: Moni Shoua <monis@voltaire.com>
Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
---
drivers/net/bonding/bond_main.c | 5 +++--
drivers/net/bonding/bond_sysfs.c | 6 ++----
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index d937bae..a1fe87a 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1285,8 +1285,9 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
/* bond must be initialized by bond_open() before enslaving */
if (!(bond_dev->flags & IFF_UP)) {
- dprintk("Error, master_dev is not up\n");
- return -EPERM;
+ printk(KERN_WARNING DRV_NAME
+ " %s: master_dev is not up in bond_enslave\n",
+ bond_dev->name);
}
/* already enslaved */
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index 9afd172..073841f 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -265,11 +265,9 @@ static ssize_t bonding_store_slaves(struct device *d,
/* Quick sanity check -- is the bond interface up? */
if (!(bond->dev->flags & IFF_UP)) {
- printk(KERN_ERR DRV_NAME
- ": %s: Unable to update slaves because interface is down.\n",
+ printk(KERN_WARNING DRV_NAME
+ ": %s: doing slave updates when interface is down.\n",
bond->dev->name);
- ret = -EPERM;
- goto out;
}
/* Note: We can't hold bond->lock here, as bond_create grabs it. */
--
1.5.2-rc2.GIT
next prev parent reply other threads:[~2007-09-14 23:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-14 23:40 [ofa-general] [PATCH 00/11] IPoIB support for bonding Jay Vosburgh
2007-09-14 23:40 ` [PATCH 01/11] IB/ipoib: Export call to call_netdevice_notifiers and add new private flag Jay Vosburgh
2007-09-14 23:40 ` [ofa-general] [PATCH 02/11] IB/ipoib: Notify the world before doing unregister Jay Vosburgh
2007-09-14 23:40 ` [PATCH 03/11] IB/ipoib: Bound the net device to the ipoib_neigh structue Jay Vosburgh
2007-09-14 23:40 ` [PATCH 04/11] IB/ipoib: Verify address handle validity on send Jay Vosburgh
2007-09-14 23:40 ` [PATCH 05/11] net/bonding: Enable bonding to enslave non ARPHRD_ETHER Jay Vosburgh
2007-09-14 23:40 ` [PATCH 06/11] net/bonding: Enable bonding to enslave netdevices not supporting set_mac_address() Jay Vosburgh
2007-09-14 23:40 ` Jay Vosburgh [this message]
2007-09-14 23:40 ` [PATCH 08/11] net/bonding: Handle wrong assumptions that slave is always an Ethernet device Jay Vosburgh
2007-09-14 23:40 ` [PATCH 9/11] net/bonding: Delay sending of gratuitous ARP to avoid failure Jay Vosburgh
2007-09-14 23:40 ` [PATCH 10/11] net/bonding: Destroy bonding master when last slave is gone Jay Vosburgh
2007-09-14 23:40 ` [PATCH 11/11] bonding: Optionally allow ethernet slaves to keep own MAC Jay Vosburgh
2007-09-17 22:20 ` [PATCH 04/11] IB/ipoib: Verify address handle validity on send Roland Dreier
2007-09-17 22:23 ` [ofa-general] Re: [PATCH 03/11] IB/ipoib: Bound the net device to the ipoib_neigh structue Roland Dreier
2007-09-17 22:22 ` [ofa-general] Re: [PATCH 02/11] IB/ipoib: Notify the world before doing unregister Roland Dreier
2007-09-17 22:25 ` Roland Dreier
2007-09-17 23:23 ` Jay Vosburgh
2007-09-17 23:33 ` Roland Dreier
2007-09-18 17:42 ` [ofa-general] " Roland Dreier
2007-09-19 16:41 ` Moni Shoua
2007-09-19 16:44 ` Roland Dreier
2007-09-17 22:17 ` [ofa-general] Re: [PATCH 01/11] IB/ipoib: Export call to call_netdevice_notifiers and add new private flag Roland Dreier
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=11898132441599-git-send-email-fubar@us.ibm.com \
--to=fubar@us.ibm.com \
--cc=davem@davemloft.net \
--cc=general@lists.openfabrics.org \
--cc=jgarzik@pobox.com \
--cc=monis@voltaire.com \
--cc=monisonlists@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@voltaire.com \
--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).