Daniel P. Berrange
2006-Oct-03 21:02 UTC
[Xen-devel] Fix handle of vncunused parameter for HVM framebuffer
The ''vncunused'' parameter for a guest config file is supposed
to instruct
XenD (well qemu-dm) to bind to the first unused VNC display port that is
available.
In the current xen-unstable.hg tree tough, XenD will always pass an explicit
''-vnc <display num>'' parameter to qemu-dm, regardless of
whether ''vncunused''
is set. So the ''vncunused'' bit only takes effect if the
explicitly passed
display already has something bound to it.
For example it runs
/usr/lib64/xen/bin/qemu-dm \
-d 136 \
-m 500 \
-boot c \
-serial pty \
-vcpus 1 \
-domain-name rhel4x86_64 \
-net nic,vlan=1,macaddr=00:16:3e:38:17:80,model=rtl8139 \
-net tap,vlan=1,bridge=xenbr0 \
-vnc 136 \
-vncunused \
-k en-us
This may not look too bad, but consider what happens when the host machine
has been up for a while - the Domin ID''s start getting very high - in
this
example domain ID is merely 136, which makes VNC attach to 6036, but as time
goes by it''ll be binding to higher & higher ports.
This plays havoc with firewalls - for example an admin may know that only
10 domains will ever be running at any time, so they should be able to
simply open up ports 5900 -> 5910.
The correct behaviour should be:
- If ''vncdisplay'' is set, use that explicit display
- If ''vncunused'' is set non-zero, allocate first port about
5900
- Allocate fixed port based on domain-ID
The attached patch fixes XenD so that if ''vncused'' is set, it
won''t specify
an explicit display num to QEMU. It also fixes a dumb error in QEMU which
caused it to start trying ports from 5898 instead of 5900. This brings the
behaviour into compliance with the rules above.
Signed-of-By: Daniel P. Berrange <berrange@redhat.com>
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel