Description of problem: In order to get libvirtd to listen on IPv6, you have to manually set 'listen_addr = "::"' in /etc/libvirt/libvirtd.conf. By default, it listens only on 0.0.0.0 (IPv4). Version-Release number of selected component (if applicable): libvirt-0.6.2-11.fc11.x86_64 How reproducible: always Steps to Reproduce: netstat -A inet6 -lnp | grep libvirtd Actual results: no output Expected results: tcp 0 0 :::16509 :::* LISTEN 23321/libvirtd tcp 0 0 :::16514 :::* LISTEN 23321/libvirtd Additional info:
Looks like getaddrinfo() is returning the IPv4 address before the IPv6 address, and since Linux defaults to net.ipv6.bindv6only=0, when libvirtd tries to listen on the IPv6 address it fails with EADDRINUSE. I really don't know why it isn't returning the IPv6 address first during the lookup.
Data point: Works correctly on RHEL-5. Fails on Fedora 9 & 11
Fix pushed upstream http://www.redhat.com/archives/libvir-list/2009-November/msg00386.html
Fixed in 0.7.4 release