[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] Xen 3.0.3 and Routing



I'm running RedHat ES5 on a Dell PowerEdge 2950 server.  RedHat installed with Xen 3.0.3:
 
xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
kernel-xen-2.6.18-8.el5
kernel-xen-devel-2.6.18-8.el5
xen-3.0.3-25.el5
xen-libs-3.0.3-25.el5
xen-libs-3.0.3-25.el5
Anywho,  I had a lot of trouble getting the first subdomain to start thinking it was a problem with VNC even though I kept getting the common "Could not initialize device tap".  I did a lot of playing around with trying to create the TAP device manually and ensuring the TUN module was loaded.  I was finally able to start the domain by manually creating the bridge xenbr0 before startup.  It appears even though I am not using bridge having a bridge present is required.  I even commented out the brctl command in qemu-ifup and can communicate with my domain just fine.  I get around this by adding 'brctl addbr xenbr0' to my network-route script.
 
But here is where my problem comes in.  When I start my domain I assign a network address to the VIF interface in dom0 via the config file:
 
vif = [ 'type=ioemu, vifname=vif1.0, ip=192.168.1.0, model=ne2k_pci' ]
But to communicate with the domain I have to assign an IP address to the tap device created and linked to the internal interface:
 
tap2      Link encap:Ethernet  HWaddr 36:9E:8D:07:2F:E5
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::349e:8dff:fe07:2fe5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:360 (360.0 b)  TX bytes:468 (468.0 b)
 
With this method my subdomain is completely accessible via networking and all I have to do is properly configure dom0 as a router.  When the domains are started the tap devices are created first come first serve.  In other words I cannot identify or specify the tap ID that will be attached to a specific domain.  In the example above the device for xdom2 is tap2 because I started xdom1 first and it has 2 vif's attached.  If I had started xdom2 first then the tap device would have been tap0.
 
So my question is, does anyone know the order in which the script are called?  Is there a way to capture or identify the tap# device used on a domain while it is starting?
 
I would like to be able to assign my IP addresses to the tap devices in vif-route, but that only works if I know which tap device belongs to the domain starting up.
 
I've searched the python and xen script files and the only place the tap device is called is in the qemu-dm binary.  I was not able to find where XM calls the qemu-dm binary.

Max Baro
Technical Support Supervisor
FACTS Services, Inc.
(305) 284 - 7440
meb@xxxxxxxxxxxxxxxxx

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.