Chris J Arges <chris.j.ar...@canonical.com> wrote: >ARP monitoring does not work when we have a network in the >following configuration: > >eth0----+ +----bond0.100----br0-100---{+virtual machines > | | > +----bond0----+----br0---(fixed IP)->--{LAN arp_ip_target} > | | >eth1----+ +----bond0.200----br0-200---{+virtual machines > >This patch extends bond_arp_send_all to check if a device >is also in a bridge. > >This is related to the following issues: >http://launchpad.net/bugs/736226 >http://bugzilla.kernel.org/show_bug.cgi?id=31822 > >Thanks to help from Andy Gospodarek <a...@greyhouse.net>. > >Signed-off-by: Chris J Arges <chris.j.ar...@canonical.com>
What has changed that you're up to version 3 now? > drivers/net/bonding/bond_main.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > >diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c >index b2530b0..cb791f6 100644 >--- a/drivers/net/bonding/bond_main.c >+++ b/drivers/net/bonding/bond_main.c >@@ -2708,6 +2708,18 @@ static void bond_arp_send_all(struct bonding *bond, >struct slave *slave) > continue; > } > >+ /* >+ * Check if the target is part of a bridge. >+ */ /* Comment should be formatted like this. */ >+ if (rt->dst.dev->priv_flags & IFF_EBRIDGE) { >+ /* Confirm addr is part of the bridge */ >+ addr = bond_confirm_addr(rt->dst.dev, targets[i], 0); >+ >+ /* Send ARP request */ I think this comment is unnecessary. -J >+ bond_arp_send(slave->dev, ARPOP_REQUEST, targets[i], >addr, 0); >+ continue; >+ } >+ > if (net_ratelimit()) { > pr_warning("%s: no path to arp_ip_target %pI4 via > rt.dev %s\n", > bond->dev->name, &targets[i], >-- >1.7.9.5 > --- -Jay Vosburgh, IBM Linux Technology Center, fu...@us.ibm.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/