WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Problems with 'xl create winxp' (hvm) on xen 4.1.2 (also

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Problems with 'xl create winxp' (hvm) on xen 4.1.2 (also affects GPLPV)
From: jim burns <jim_burn@xxxxxxxxxxxxx>
Date: Mon, 31 Oct 2011 19:00:32 -0400
Cc:
Delivery-date: Mon, 31 Oct 2011 16:01:36 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bellsouth.net; s=s1024; t=1320102039; bh=ifZ9XEA0AjK96tLMJIFA69B2WtBgJ71iQLz3qW/u+EA=; h=X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:From:To:Subject:Date:Message-ID:User-Agent:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Content-Type; b=WyRNuVHQAYXeVJJAs7Qa4P6eJTrBeJVxY4u1w63jbfXOo9shJbZAEaai8wjE0UMqyHr4Sqnh5GA+EtMbnT6bpE8pGD4uMSXaUWVTDFZa1hyKNc83LBnHJMxtNT+llmxUQhwiL8Yo2UMCKbqgmjsod73jgfO9fJuEPLwoEmtkjxo=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1320060379.23193.72.camel@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1758215.SCbitK4oVy@dell4550> <1320058232.23193.59.camel@xxxxxxxxxxxxxxxxxxxxxx> <1320060379.23193.72.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/4.7.2 (Linux/2.6.37.6-0.7-default; KDE/4.7.2; i686; ; )
On Mon October 31 2011, 11:26:19 AM, Ian Campbell wrote:
> On Mon, 2011-10-31 at 10:50 +0000, Ian Campbell wrote:
> > On Sat, 2011-10-29 at 06:57 +0100, jim burns wrote:
> > > [...]
> > > New to 4.1.2:
> > > 
> > > 1) Starting winxp with xl does not create a vif interface - only a
> > > tap one. More exactly, the vif is created, but does not get an ipv6
> > > address - it shows up in 'ifconfig -a', or 'ifconfig vifn.0' - and
> > > does not get added to the bridge. If you are using James' GPLPV
> > > drivers, you end up with no network connectivity, as they use vif,
> > > not tap. I'd be surprised if other pvhvm solutions don't see this
> > > also.
> > 
> > I see this with the tip of xen-4.1-testing too but not with
> > xen-unstable. I'll see if I can figure out which backport is missing...
> 
> 23047:4ca13a170482 "libxl: provide full path to vif hotplug script
> script" seems like a very plausible candidate, I bet
> "script=/etc/xen/scripts/vif-bridge" would function as a workaround.

Yep - that works. Should have guessed. You have to supply the full path to the 
config file too, or it can't find it (doesn't default to searching /etc/xen).

> > [...]
> > 
> > > 2) If your vif= line in your config specifies a bridge, such as
> > > 'bridge=virbr0', the '-net tap' option to qemu-dm remains as
> > > 'bridge=xenbr0', as if it was hard coded. Again, this is an hvm
> > > problem. 'xl create'-ing a pv domu correctly puts the vif on the
> > > requested bridge. (If memory serves, under xen 4.1.1, when the vif
> > > for an hvm domain was being put on a bridge, I believe it was on
> > > the bridge requested, so the problem is just with tap.)> 
> > Similarly I can reproduce this too but only on 4.1.
> 
> Actually this one is broken in unstable too.
> 
> The handling of leading and trailing whitespace in the vif option seems
> to be completely b0rked in xl and e.g. "bridge = virbr1" ends up as key
> "bridge " and key " virbr1". That entire parser (actually, both of them
> -- there's a whole nother one in main_networkattach!) is a mess.
> 
> There's probably a bandaid which can be applied but really the whole
> thing need ripping out and making sensible.
> 
> As a workaround in the meantime you can probably avoid whitespace around
> the "=" and "," in the vif line.
> 
Yep - that works too:

root@insp6400 10/31/11  6:31PM:~
[512] > xl create /etc/xen/winxp; brctl show;  ps -A|grep qemu; netstat -tlp|
grep 59; renice -11 `pidof qemu-dm`;  ps -A|grep vncv; ifconfig vif3.0 mtu 
9000 
Parsing config file /etc/xen/winxp
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000017b270
  TOTAL:         0000000000000000->000000002fc00000
  ENTRY ADDRESS: 00000000001015a0
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000009a00
  2MB PAGES: 0x0000000000000131
  1GB PAGES: 0x0000000000000000
Daemon running with PID 6804
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.feffffffffff       yes             tap3.0
xenbr0          8000.0015c5047d4f       no              bond0
 6809 pts/1    S+     0:00                     grep --color=auto qemu
 6758 ?        RLsl   0:00   qemu-dm -d 3 -domain-name winxp -vnc 0.0.0.0:3 -k 
en-us -serial pty -videoram 4 -boot cda -usb -usbdevice tablet -soundhw es1370 
-acpi -vcpus 2 -vcpu_avail 0x3 -net 
nic,vlan=0,macaddr=00:16:3e:23:1d:36,model=rtl8139 -net 
tap,vlan=0,ifname=tap3.0,bridge=virbr0,script=no -M xenfv
tcp        0      0 *:5901                      *:*                         
LISTEN      3283/Xvnc           
tcp        0      0 *:5903                      *:*                         
LISTEN      6758/qemu-dm        
6758 (process ID) old priority 0, new priority -11
 6907 pts/1    S+     0:00                     grep --color=auto vncv
root@insp6400 10/31/11  6:32PM:~
[513] > brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.feffffffffff       yes             tap3.0
                                                        vif3.0
xenbr0          8000.0015c5047d4f       no              bond0

For 4):

On Mon October 31 2011, 10:56:51 AM, Ian Campbell wrote:
> On Sat, 2011-10-29 at 07:17 +0100, jim burns wrote:
> > On Sat October 29 2011, 1:57:12 AM, jim burns wrote:
> > > For the remaining problems, note that 'xl create winxp' creates a
> > > qemu-dm process with the following parameters:
> > > 
> > > qemu-dm -d 8 -domain-name winxp -vnc 0.0.0.0:3 -k en-us -serial pty
> > > -videoram  4 -boot cda -usb -usbdevice tablet -soundhw es1370 -acpi
> > > -vcpus 2 -vcpu_avail 0x3 -net
> > > nic,vlan=0,macaddr=00:16:3e:23:1d:36,model=rtl8139 -net
> > > tap,vlan=0,ifname=tap8.0,bridge=xenbr0,script=no -M xenfv> 
> > Note, starting the domain with 'xm create' with the same config results
> > in:
> > 
> > /usr/lib/xen/bin/qemu-dm -d 11 -domain-name winxp -videoram 4 -k en-us
> > -vnc 0.0.0.0:3 -monitor vc -vcpus 2 -vcpu_avail 0x3 -boot cda -soundhw
> > es1370 - localtime -serial pty -acpi -usbdevice tablet -net
> > nic,vlan=1,macaddr=00:16:3e:23:1d:36,model=rtl8139 -net
> > tap,vlan=1,ifname=tap11.0,bridge=xenbr0 -M xenfv
> > 
> > Note, 'xl create' does not pass the '-localtime' option,
> 
> that's the source of one of the missing features. Fixing it should be a
> case of adding the option to libxl_domain_build_info in the IDL,
> reacting to it in libxl__build_device_model_args_old and
> libxl__build_device_model_args_new and parsing the config file option
> into it in parse_config_data().

Hopefully, the fix for 3) (vncconsole=1) is just as simple.

> >  and its '-net tap' specifies 'script=no', unlike 'xm create'.
> 
> This is expected, with xl the script for tap devices is run via the
> hotplug mechanism (i.e. the same as vif) whereas xend apparently runs it
> via qemu. Either _should_ work.
> 
> > Also, for some reason, the vlan numbers are different between xl and xm.
> 
> That's ok, they are effectively arbitrary and just serve to bind the
> "-net nic,..." and "-net tap,..." options to one another (IOW the vlan
> ID needs to be consistent across those two options but is otherwise
> unimportant).

Thanx for the explanations.

On Mon October 31 2011, 10:50:32 AM, Ian Campbell wrote:
> > 5) Anything other than 'videoram=4' in your config will be ignored when 
> > starting with xl, but not with xm. You will get an error in your qemu-dm
> > log file of the form:
> > 
> >
> > -videoram option does not work with cirrus vga device model. Videoram
> > set to  4M.
> 
> I'm not sure what's going on here, since this appears to be a qemu thing
> and that is the same for xend and xl. Perhaps they are choosing
> differing graphics card device models? How do the command lines differ
> if you use this option?

With videoram=8, and 'xm create', you get what you expect:

 6026 ?        RLl    0:00     /usr/lib/xen/bin/qemu-dm -d 2 -domain-name 
winxp -videoram 8 -k en-us -vnc 0.0.0.0:3 -monitor vc -vcpus 2 -vcpu_avail 0x3 
-boot cda -soundhw es1370 -localtime -serial pty -acpi -usbdevice tablet -net 
nic,vlan=1,macaddr=00:16:3e:23:1d:36,model=rtl8139 -net 
tap,vlan=1,ifname=tap2.0,bridge=xenbr0 -M xenfv

Thanx for the thorough review.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel