Can't define network with IPv6 address in libvirt - fails to define address

Bug #862136 reported by Neil Wilson
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libvirt (Ubuntu)
Fix Released
Medium
Unassigned
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

When defining a network with an IPv6 address, libvirt fails to allocate the address properly and the launch of the supporting dnsmasq processes fails.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: libvirt-bin 0.9.2-4ubuntu14
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic 3.0.4
Uname: Linux 3.0.0-12-generic x86_64
ApportVersion: 1.23-0ubuntu2
Architecture: amd64
Date: Thu Sep 29 09:18:26 2011
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110921.2)
ProcEnviron:
 LANGUAGE=en_GB:en
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: libvirt
UpgradeStatus: No upgrade log present (probably fresh install)
modified.conffile..etc.libvirt.qemu.networks.default.xml: [deleted]
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: neil 2331 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'SB'/'HDA ATI SB at 0xf0000000 irq 16'
   Mixer name : 'Realtek ALC888'
   Components : 'HDA:10ec0888,10250206,00100202 HDA:14f12c06,10250093,00100000'
   Controls : 29
   Simple ctrls : 17
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xcfdec000 irq 19'
   Mixer name : 'ATI RS690/780 HDMI'
   Components : 'HDA:1002791a,00791a00,00100000'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
DistroRelease: Ubuntu 11.10
HibernationDevice: RESUME=UUID=3eb700a5-a61d-459b-b56c-f9c2ae7687db
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110921.2)
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Acer Aspire 5536
Package: linux (not installed)
ProcEnviron:
 LANGUAGE=en_GB:en
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic root=UUID=7320df77-82a4-40ca-8b60-71339a4c595b ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic 3.0.4
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-12-generic N/A
 linux-backports-modules-3.0.0-12-generic N/A
 linux-firmware 1.60
Tags: oneiric running-unity
Uname: Linux 3.0.0-12-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout libvirtd lpadmin plugdev sambashare
dmi.bios.date: 02/27/2009
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: V1.03
dmi.board.name: JV50PU
dmi.board.vendor: Acer
dmi.board.version: Rev
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.03:bd02/27/2009:svnAcer:pnAspire5536:pvr0100:rvnAcer:rnJV50PU:rvrRev:cvnAcer:ct10:cvrN/A:
dmi.product.name: Aspire 5536
dmi.product.version: 0100
dmi.sys.vendor: Acer

Revision history for this message
Neil Wilson (neil-aldur) wrote :
Revision history for this message
Neil Wilson (neil-aldur) wrote :

Install libvirt-bin and qemu-kvm on standard workstation install.

Remove the default network with 'virsh net-destroy default'

Define the new network with 'virsh net-define fred.xml'

Try to start the network with 'virsh net-start br000002'

This results in an error:

"error: Failed to start network br000002
error: internal error Child process (dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/br000002.pid --conf-file= --except-interface lo --listen-address 10.0.0.1 --listen-address 2a02:1348:134::1) status unexpected: exit status 2"

virsh net-edit br000002 and remove the IPv6 XML 'ip' entry

virsh net-start br000002 will then work with just the IPv4 settings.

Revision history for this message
Neil Wilson (neil-aldur) wrote :

Syslog trace during 'net-start' while IPv6 entry is in place:

Sep 29 09:36:41 acer-aspire-5536 kernel: [ 4372.079686] device br000002-nic entered promiscuous mode
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: <warn> /sys/devices/virtual/net/br000002: couldn't determine device driver; ignoring...
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/br000002, iface: br000002)
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/br000002, iface: br000002): no ifupdown configuration found.
Sep 29 09:36:41 acer-aspire-5536 kernel: [ 4372.093472] ADDRCONF(NETDEV_UP): br000002: link is not ready
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: <warn> /sys/devices/virtual/net/br000002-nic: couldn't determine device driver; ignoring...
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/br000002-nic, iface: br000002-nic)
Sep 29 09:36:41 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/br000002-nic, iface: br000002-nic): no ifupdown configuration found.
Sep 29 09:36:41 acer-aspire-5536 avahi-daemon[869]: Joining mDNS multicast group on interface br000002.IPv4 with address 10.0.0.1.
Sep 29 09:36:41 acer-aspire-5536 avahi-daemon[869]: New relevant interface br000002.IPv4 for mDNS.
Sep 29 09:36:41 acer-aspire-5536 avahi-daemon[869]: Registering new address record for 10.0.0.1 on br000002.IPv4.
Sep 29 09:37:01 acer-aspire-5536 dnsmasq[3558]: failed to create listening socket for 2a02:1348:134::1: Cannot assign requested address
Sep 29 09:37:01 acer-aspire-5536 dnsmasq[3558]: FAILED to start up
Sep 29 09:37:01 acer-aspire-5536 avahi-daemon[869]: Interface br000002.IPv4 no longer relevant for mDNS.
Sep 29 09:37:01 acer-aspire-5536 avahi-daemon[869]: Leaving mDNS multicast group on interface br000002.IPv4 with address 10.0.0.1.
Sep 29 09:37:01 acer-aspire-5536 avahi-daemon[869]: Withdrawing address record for 10.0.0.1 on br000002.
Sep 29 09:37:01 acer-aspire-5536 avahi-daemon[869]: Withdrawing workstation service for br000002-nic.
Sep 29 09:37:01 acer-aspire-5536 kernel: [ 4392.274721] device br000002-nic left promiscuous mode
Sep 29 09:37:01 acer-aspire-5536 kernel: [ 4392.274732] br000002: port 1(br000002-nic) entering disabled state
Sep 29 09:37:01 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/br000002-nic, iface: br000002-nic)
Sep 29 09:37:02 acer-aspire-5536 avahi-daemon[869]: Withdrawing workstation service for br000002.
Sep 29 09:37:02 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/br000002, iface: br000002)

Revision history for this message
Neil Wilson (neil-aldur) wrote :

Syslog trace with just the IPv4 address:

Sep 29 09:38:13 acer-aspire-5536 kernel: [ 4463.577520] device br000002-nic entered promiscuous mode
Sep 29 09:38:13 acer-aspire-5536 kernel: [ 4463.582585] ADDRCONF(NETDEV_UP): br000002: link is not ready
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/br000002-nic, iface: br000002-nic)
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/br000002-nic, iface: br000002-nic): no ifupdown configuration found.
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: <warn> /sys/devices/virtual/net/br000002-nic: couldn't determine device driver; ignoring...
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: <warn> /sys/devices/virtual/net/br000002: couldn't determine device driver; ignoring...
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/br000002, iface: br000002)
Sep 29 09:38:13 acer-aspire-5536 NetworkManager[889]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/br000002, iface: br000002): no ifupdown configuration found.
Sep 29 09:38:13 acer-aspire-5536 avahi-daemon[869]: Joining mDNS multicast group on interface br000002.IPv4 with address 10.0.0.1.
Sep 29 09:38:13 acer-aspire-5536 avahi-daemon[869]: New relevant interface br000002.IPv4 for mDNS.
Sep 29 09:38:13 acer-aspire-5536 avahi-daemon[869]: Registering new address record for 10.0.0.1 on br000002.IPv4.
Sep 29 09:38:13 acer-aspire-5536 dnsmasq[3614]: started, version 2.57 cachesize 150
Sep 29 09:38:13 acer-aspire-5536 dnsmasq[3614]: compile time options: IPv6 GNU-getopt DBus I18N DHCP TFTP IDN
Sep 29 09:38:13 acer-aspire-5536 dnsmasq[3614]: reading /etc/resolv.conf
Sep 29 09:38:13 acer-aspire-5536 dnsmasq[3614]: using nameserver 192.168.0.1#53
Sep 29 09:38:13 acer-aspire-5536 dnsmasq[3614]: read /etc/hosts - 7 addresses

Revision history for this message
Neil Wilson (neil-aldur) wrote :

From:

https://bbs.archlinux.org/viewtopic.php?id=123855

"In commit 1faa4356a3bd89ea11fb92752d897cff3a20ec0e to the Linux kernel (which was before 2.6.39 got released so this is the first affected version) the behavior of bridges was changed so that they set the carrier state to off if no interfaces are connected."

Libvirt connects a dummy interface to the bridge but doesn't set it to 'up', which means that IPv6 is never activated.

Revision history for this message
Neil Wilson (neil-aldur) wrote :

The dummy interface on the bridge is marked down in libvirt to prevent it showing up in the ifconfig listing.

But that now also means it won't activate the bridge interface.

Revision history for this message
Neil Wilson (neil-aldur) wrote :
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Thanks for reporting this bug and all the information, Neil. Looking at Linus' tree and the patchwork discussion in comment #7, it looks like discussion about a kernel fix is stalled.

I also don't see any commits in the upstream libvirt tree addressing this.

I will mark this as also affect the kernel, since either the kernel or libvirt should be able to fix it, and triaged. I suspect it is too late in the cycle to push our own private temporary fix into the kernel (in the form of the above patch :), unfortunately.

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 862136

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in libvirt (Ubuntu):
importance: Undecided → Medium
Changed in linux (Ubuntu):
importance: Undecided → Medium
Changed in libvirt (Ubuntu):
status: New → Triaged
Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Neil Wilson (neil-aldur) wrote :

You might want to try setting the dummy interface up in libvirt. That may workaround it for now at the expense of polluting the ifconfig listings.

tags: added: apport-collected running-unity
description: updated
Revision history for this message
Neil Wilson (neil-aldur) wrote : AcpiTables.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : AlsaDevices.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : AplayDevices.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : ArecordDevices.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : BootDmesg.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : Card0.Codecs.codec.1.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : Card1.Codecs.codec.0.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : IwConfig.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : Lspci.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : PciMultimedia.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : ProcModules.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : PulseSinks.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : PulseSources.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : RfKill.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : UdevDb.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : UdevLog.txt

apport information

Revision history for this message
Neil Wilson (neil-aldur) wrote : WifiSyslog.txt

apport information

Revision history for this message
Philipp Schmid (com-schmidp) wrote :

I have the same problem with 11.10 and switched back to kernel 2.6.38-11 from 11.04.

The next problem I had was, that libvirt couldn't find radvd. It looks like it is no libvirt dependency and the one who compiled the debian packages didn't have it installed, so the path to /usr/sbin/radvd was not embedded in the libvirt library or daemon binary.

I solved this by creating the libvirt package from source package. I didn't modify anything, just a recompile, but with radvd installed before.

tags: added: patch
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Thanks Philipp. So if I understand correctly we should just add radvd to the build-depends.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libvirt - 0.9.6-1ubuntu3

---------------
libvirt (0.9.6-1ubuntu3) precise; urgency=low

  * debian/control: - add radvd to build-depends (LP: #862136)
  * debian/control: remove moved relations from original:
    - libvirt-bin Depends: move netcat-openbsd, bridge-utils, dnsmasq-base
      (>= 2.46-1), and iptables from Recommends to Depends
    - libvirt-bin Recommends: move qemu to Suggests
 -- Serge Hallyn <email address hidden> Mon, 24 Oct 2011 08:54:14 -0500

Changed in libvirt (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.