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

From: Willy Tarreau <[email-masked]>
Date: Sun, 22 Feb 2009 09:27:17 +0100

On Sat, Feb 21, 2009 at 11:59:01PM -0800, David Miller wrote:
> From: Brian Haley <[email-masked]>
> 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 <[email-masked]>
> 
> 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.

Especially since bonding is working between layers 1 and 2 and provides
a protocol-agnostic ethernet-like interface. It would seem very confusing
to load ethernet drivers depending on the protocols we expect to run on
top of them :-/

Willy