
On 02/21/2011 05:01 PM, Eric Blake wrote:
On 02/21/2011 02:38 AM, Michal Novotny wrote:
[snip]
We've got other code in domain_conf.c that assigns ports to the first available slot; for example, look near line 5628 at how virtio-serial ports are assigned using maxport and traversal of all previously assigned ports.
Is the code correct there?
The code is:
if (chr->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL&& chr->info.addr.vioserial.port == 0) { int maxport = 0; virtio-serial has to start at port 1 (not 0, which is reserved), so maxport starts at 0...
chr->info.addr.vioserial.port = maxport + 1;
and the assignment guarantees 1 or greater. But serial and parallel support port 0, so start maxport at -1 instead of 0, to reuse the same logic.
Oh, ok, I was thinking whether it's a bug in virtio driver or not. Thanks for clarification it has to start at 1 :) Thanks, Michal -- Michal Novotny<minovotn@redhat.com>, RHCE Virtualization Team (xen userspace), Red Hat