[libvirt] Trouble starting a QEMU guest with IPv6 VNC address
Laine Stump
laine at laine.org
Wed Oct 28 02:04:23 UTC 2009
On 10/27/2009 01:47 PM, Kaitlin Rupert wrote:
> It looks like specifying an address of [::1] instead of ::1 will work.
> However, that seems like a bug. The bracket syntax is specific to
> qemu, which means the user needs to have prior knowledge of this.
Not exactly specific to qemu. Many other protocols use it (eg SIP,
pretty much any URL - see section 3.2.2 of RFC3986). Basically, anywhere
the IP address might have a port tacked onto it with ":n" syntax *needs*
to have the brackets and, due to this precedent, many other places
accept it anyway.
My opinion would be that in cases where the port may be specified
URL-style as part of the address (I haven't looked to see if that's the
case here), then the brackets should be required; if port cannot be
specified using ":n" syntax, then brackets should NOT be required, but
should be accepted.
(In practice, I found that having some places where brackets were
required and some where it wasn't necessitated lots of extra code and
was just a nuisance all around (even worse to have places where brackets
weren't even accepted).
>
> Kaitlin Rupert wrote:
>> Hello,
>>
>> I am trying to start a QEMU guest with an IPv6 VNC address. I can
>> specify the address and start the guest, but the VNC port shows up
>> under the IPv4 list:
>>
>> # virsh dumpxml domU1 | grep graphics
>> <graphics type='vnc' port='5900' autoport='no' listen='::1'
>> keymap='en-us'/>
>>
>> # cat /proc/net/tcp | grep 170C
>> 2: 00000000:170C 00000000:0000 0A 00000000:00000000 00:00000000
>> 00000000 0 0 621103 1 ffff88007a043a80 299 0 0 2 -1
>>
>> # cat /proc/net/tcp6 | grep 170C
>> #
>>
>> # ps -ef | grep qemu
>> root 16451 1 43 04:17 ? 00:00:18
>> /usr/bin/qemu-system-x86_64 -S -M pc -m 128 -smp 1 -name domU1 -uuid
>> 2aebe290-d1ed-11dd-90eb-001a64bc024c -monitor pty -pidfile
>> /var/run/libvirt/qemu//domU1.pid -no-acpi -boot c -drive
>> file=/tmp/default-kvm-dimage,if=ide,index=0,boot=on -net
>> nic,macaddr=11:22:33:aa:bb:cc,vlan=0 -net tap,fd=17,vlan=0 -serial
>> none -parallel none -usb -vnc ::1:0 -k en-us
>>
>> I started the same guest manually, but I appended an ",ipv6' flag to
>> the vnc option (see below). With this change, the port shows up in
>> the IPv6 list.
>>
>> # /usr/bin/qemu-system-x86_64 -M pc -m 128 -smp 1 -name domU1 -uuid
>> 2aebe290-d1ed-11dd-90eb-001a64bc024c -monitor pty -pidfile
>> /var/run/libvirt/qemu//domU1.pid -no-acpi -boot c -drive
>> file=/tmp/default-kvm-dimage,if=ide,index=0,boot=on -net
>> nic,macaddr=11:22:33:aa:bb:cc,vlan=0 -net tap,fd=17,vlan=0 -serial
>> none -parallel none -usb -vnc ::1:0,ipv6 -k en-us
>>
>> # cat /proc/net/tcp6 | grep 170C
>> 2: 00000000000000000000000000000000:170C
>> 00000000000000000000000000000000:0000 0A 00000000:00000000
>> 00:00000000 00000000 0 0 621485 1 ffff88007a30ad00 299 0 0
>> 2 -1
>>
>> # cat /proc/net/tcp | grep 170C
>> #
>>
>> I'd like to fix the qemu driver so that it specifies this flag, but I
>> am unsure whether a guest XML change or some other change is
>> appropriate here. Would it be better to have the qemu driver code do
>> some detection on the address that is passed in?
>>
>> Thanks!
>
>
More information about the libvir-list
mailing list