
On Wed, Jun 20, 2012 at 12:00:37PM +0200, Benjamin Cama wrote:
Wow, very thorough research! Thanks for figuring this out!
Thanks. It took me almost two days to figure this out and find a working solution. Interesting debugging, though, as I learned quite a lot on bridges and IPv6 DAD.
I'm leaving the country in 48 hours and may not be able to review this before I go. If anyone else wants to take a crack at it so it can go into this release, that would be wonderful. Otherwise I'll get to it as soon as I possibly can.
Thanks.
And I've found a solution for radvd: use the “IgnoreIfMissing” flag in its config so that it continues running even if it find the interface down on startup.
BTW, I'm also hesitating to set the VIR_NETDEV_TAP_CREATE_PERSIST flag automatically when no tapfd pointer is given, as currently, with my patch, if you call virNetDevTapCreate() without VIR_NETDEV_TAP_CREATE_PERSIST and without tapfd argument, the device will disappear immediately. I don't know if implicitly setting a flag is a good idea, though.
There are only a few callers of this API, so I think it is reasonable to just update the callers as needed, rather than implicitly setting the flag. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|