Re: [PATCH] bonding: move IPv6 support into a separate kernel module

From: Brian Haley
Date: Mon Feb 23 2009 - 09:25:43 EST


David Miller wrote:
From: Brian Haley <brian.haley@xxxxxx>
Date: Fri, 20 Feb 2009 19:31:29 -0500

[Possible fix for bonding IPv6 regression reported by Andrey Borzenkov,
tried to keep all Cc's]

This patch moves the IPv6 bonding code into a separate kernel module
called bonding_ipv6 if either bonding or IPv6 are built as modules.
If both are built into the kernel then this is as well. Bonding_ipv6.ko
registers an "send_unsol_na" function pointer for the unsolicited
advertisement function to be called on a failover - the default action
is to do nothing. The notifier callbacks are now registered in this
module and not in the base bonding module.

Signed-off-by: Brian Haley <brian.haley@xxxxxx>

Thanks for taking the time to work on this Brian.

I wonder if we aren't just trading one evil for another.

Right now just configuring bonding will get the bonding
module loaded and the ipv6 facilities will be visible.

Now with your change, the user has to explicitly load
the module. That's extremely user-unfriendly.

I agree, part of me just wanted to make sure it could be done, and figured it was just a matter of time before my hand was forced, or the original commit was reverted.

One idea is that the IPv6 notifier, addrconf_notify(), could try and load the bonding_ipv6 module if a device with IFF_MASTER registered. I haven't prototyped it to see if it would actually work, seemed like a hack.

-Brian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/