If you do /sbin/service network restart (or ifdown eth0 ; ifup eth0 just the same),
IPv6 autoconfiguration no longer works. This might be a problem
with reactivating a certain part of multicast listening on the interface.
If the network driver is reloaded, autoconfiguration begins to work again.
See the netdev mail and followups for details:
As USAGI has this working, I went through a couple of promising-looking patches
to find out what fixes this.
For me, after applying this:
(on top of core/neighbour.c changes, which aren't necessary I think),
Please review the patch and incorporate if it looks sane.
Fixed in the next build, check rawhide for 2.4.3-2.14.3 or later, and if the
bug persists please reopen this.
I will also be pushing this fix to Linus shortly.
Verified to work in 2.4.3-2.14.9.