[libvirt] [PATCH 1/4] tests: Fix virnetsockettest on FreeBSD

Daniel P. Berrangé berrange at redhat.com
Mon Apr 30 09:06:23 UTC 2018


On Mon, Apr 30, 2018 at 10:29:46AM +0200, Andrea Bolognani wrote:
> On Fri, 2018-04-27 at 16:32 +0100, Daniel P. Berrangé wrote:
> > > +        /* From FreeBSD's inet6(4):
> > > +         *
> > > +         *   By default, FreeBSD does not route IPv4 traffic to AF_INET6
> > > +         *   sockets.  The default behavior intentionally violates RFC2553
> > > +         *   for security reasons.  Listen to two sockets if you want to
> > > +         *   accept both IPv4 and IPv6 traffic.
> > > +         *
> > > +         * So this test will never work on FreeBSD, and need to skip it. */
> > 
> > This code is not supposed to be relying on IPV6_V6ONLY. The testSocketTCPAccept
> > method is supposed to create multiple listener sockets. We passing NULL as the
> > listen address, which means we are supposed to get two sockets, one listening
> > on IPv4 and one on IPv6. So the comment is right about FreeBSD being different
> > but that situation should not apply to this test AFAIK.
> > 
> > So I'm wondering why it hasn't listened on both sockets...
> 
> Mh, you're right, the IPv6 thing was just a red herring: the test
> case just seems to fail or succeed pretty much randomly.
> 
> I tried compiling out everything but the basic "Socket TCP/IPv4
> Accept" part, and even that didn't manage to run successfully for
> any extended lenght of time in a tight loop.
> 
> I'm afraid we're going to need someone with more network expertise
> than I have to look into it.

This kind of nastiness usually requires an strace  log (or whatever BSD
equiv is) to  diagnose. I've got a BSD VM I can try on

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list