lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <21405.1234909454@death.nxdomain.ibm.com>
Date:	Tue, 17 Feb 2009 14:24:14 -0800
From:	Jay Vosburgh <fubar@...ibm.com>
To:	Brian Haley <brian.haley@...com>
cc:	Andrey Borzenkov <arvidjaar@...l.ru>, "J.A. Magall"@us.ibm.com,
	ón <jamagallon@....com>,
	netdev@...r.kernel.org,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	"Rafael J. Wysocki" <rjw@...k.pl>,
	bonding-devel@...ts.sourceforge.net
Subject: Re: [Bonding-devel] 2.6.29 regression? Bonding tied to IPV6 in 29-rc5

Brian Haley <brian.haley@...com> wrote:

>Jay Vosburgh wrote:
[...]
>> 	Putting the ipv6 bits into a different module might not help,
>> either, because the "core" bonding code would still have the call to the
>> ipv6 functions.  Unless there's some magic way to somehow know at
>> runtime whether or not the ipv6 module is loaded, and only try to
>> resolve those symbols if ipv6 is loaded.  That seems complicated.
>
>This separate bonding_ipv6 module would have to register itself with the
>"core" one with a new proto_ops of some sort.  Calls are made for the
>appropriate method, for example bond_ops->send_gratuitous(bond).  We'd
>change the IPv4 code too.  It's just a theory, does make things more
>complicated.

	I don't see any reason to change the IPv4 bits; there won't ever
be a case of ipv4 not being loaded, and this would just add the
complexity of a registration gizmo with no real benefit.  A "bonding
ipv6 ops" would be strictly a hack to deal with ipv6 module dependencies
for cases when the kernel is built with CONFIG_IPV6 but the ipv6 module
itself is prevented from loading.

	A registration gizmo doesn't need to be especially complicated;
there's only three functions in bond_ipv6.c that are called from the
bonding core: bond_send_unsolicited_na, and the ipv6 notifier register /
unregister.  The bonding_ipv6 module can simply be bond_ipv6.c, which
calls some exported "hey, bond_send_unsol_na is here" thing in the
bonding core during init and another "hey, send_unsol_na is gone" during
unload.  The bonding_ipv6 module can do its own notifier registration
handing.

>> 	To answer your question, I have come across this (aliasing ipv6
>> to nothing in modprobe.conf to disable IPv6) from time to time, but
>> didn't think of it when the NA code was added to bonding.
>
>So I guess I'll start hacking the above, unless someone has a better
>suggestion.

	Well, I think this is pretty heinous, but I don't have a better
idea at the moment.

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@...ibm.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ