Greetings xen gurus...
I''m working with xen-3.0-testing downloaded on July 3, 2006. I have
configured an hvm domain and want to use vif-route and network-route to
configure the communication.
The domU starts up fine. I was able to complete the installation of the OS
(RHES3) and can restart the domain repeatedly. However, I cannot ping the
network interface from dom0 using the standard configuration scripts. The
VIF interface gets created with vif-route in the dom0, but appears to have
no link to the domU. The qemu-dm log file says that the qemu-ifup script
could not be run, but that script only sets up a bridge, which I am not
using.
I noticed that a tun0 interface also gets created. I searched through the
source code and as little as I can understand it, this interface is created
as a tunnel into the hvm domU and then bridged in the dom0. I added a
bridge name in the sxp script for the domU (rhes3.hvm) but no bridge gets
created. I cannot find the syntax for the qemu-ifup command to determine
what arguments are passed to it.
I was finally able to ping the domU by manually assigning an ip address to
tun0 on the same subnet as the domU and updating the routing table in dom0
to point that subnet to tun0. My problem with this configuration is that I
can''t find any way to identify the tun# interface that is created for
each
subdomain so I can assign the correct subnet to it. Also if I specify the
''ip='' parameter in the sxp script, this address is attached to
the VIF
interface and a second route is added to that interface blocking traffic to
the tunnel.
In Xen 2.0.7 I was able to route by setting the vifname in the sxp script,
and assigning IP addresses to the VIF interfaces in vif-route. Xen 3.0
doesn''t let me to assign or configure the tun# interfaces used in HVM
domains.
Can some one help me figure out how to identify and/or specify the tunnel
interface attached to a domU? Maybe show me how and where to customize the
source code for ioemu (vl.c) so I can hardcode networking parameters?
SXP script:
*******
cat /etc/xen/rhes3.hvm
# -*- mode: python; -*-
#==========================================================================#
Python configuration setup for ''xm create''.
# This script sets the parameters used when a domain is created using
''xm
create''.
# You use a separate script for each domain you want to create, or
# you can set the parameters for the domain on the xm command line.
#==========================================================================
import os, re
arch = os.uname()[4]
if re.search(''64'', arch):
arch_libdir = ''lib64''
else:
arch_libdir = ''lib''
#---------------------------------------------------------------------------
-
# Kernel image file.
kernel = "/usr/lib/xen/boot/hvmloader"
# The domain build function. HVM domain uses ''hvm''.
builder=''hvm''
# Initial memory allocation (in megabytes) for the new domain.
memory = 512
# A name for your domain. All domains must have different names.
name = "VTD1"
#---------------------------------------------------------------------------
--
# the number of cpus guest platform has, default=1
vcpus=1
# enable/disable HVM guest PAE, default=0 (disabled)
#pae=0
# enable/disable HVM guest ACPI, default=0 (disabled)
#acpi=0
# enable/disable HVM guest APIC, default=0 (disabled)
#apic=0
# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = "" # leave to Xen to pick
#cpus = "0" # all vcpus run on CPU0
#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.
#vif = [ ''type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0'' ]
# type=ioemu specify the NIC is an ioemu device not netfront
vif = [ ''type=ioemu, bridge=xenbr1, mac=00:16:3e:00:10:11'' ]
#---------------------------------------------------------------------------
-
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.
#disk = [ ''phy:hda1,hda1,r'' ]
#disk = [ ''file:/var/images/min-el3-i386.img,ioemu:hda,w'' ]
disk = [ ''phy:/dev/fsivg01/xenlv01,ioemu:hda,r'' ,
''phy:/dev/fsivg01/d3lv01,ioemu:hdb,r'' ]
#---------------------------------------------------------------------------
-
# Configure the behaviour when a domain exits. There are three
''reasons''
# for a domain to stop: poweroff, reboot, and crash. For each of these you
# may specify:
#
# "destroy", meaning that the domain is cleaned up as normal;
# "restart", meaning that a new domain is started in place of
the
old
# one;
# "preserve", meaning that no clean-up is done until the
domain is
# manually destroyed (using xm destroy, for example); or
# "rename-restart", meaning that the old domain is not cleaned up,
but is
# renamed and a new domain started in its place.
#
# The default is
#
# on_poweroff = ''destroy''
# on_reboot = ''restart''
# on_crash = ''restart''
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = ''onreboot'' means on_poweroff =
''destroy''
# on_reboot = ''restart''
# on_crash = ''destroy''
#
# restart = ''always'' means on_poweroff =
''restart''
# on_reboot = ''restart''
# on_crash = ''restart''
#
# restart = ''never'' means on_poweroff =
''destroy''
# on_reboot = ''destroy''
# on_crash = ''destroy''
#on_poweroff = ''destroy''
#on_reboot = ''restart''
#on_crash = ''restart''
#==========================================================================
# New stuff
device_model = ''/usr/'' + arch_libdir +
''/xen/bin/qemu-dm''
#---------------------------------------------------------------------------
--
# Disk image for
#cdrom=''/tmp/rhes3u5.iso''
#---------------------------------------------------------------------------
--
# boot on floppy (a), hard disk (c) or CD-ROM (d)
#boot=[a|c|d]
boot=''c''
#---------------------------------------------------------------------------
--
# write to temporary files instead of disk image files
#snapshot=1
#---------------------------------------------------------------------------
-
# enable SDL library for graphics, default = 0
sdl=1
#---------------------------------------------------------------------------
-
# enable VNC library for graphics, default = 1
vnc=0
#---------------------------------------------------------------------------
-
# enable spawning vncviewer(only valid when vnc=1), default = 1
vncviewer=0
#---------------------------------------------------------------------------
-
# no graphics, use serial port
#nographic=0
#---------------------------------------------------------------------------
-
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0
#---------------------------------------------------------------------------
--
# serial port re-direct to pty deivce, /dev/pts/n
# then xm console or minicom can connect
serial=''pty''
#---------------------------------------------------------------------------
-
# enable ne2000, default = 0(use pcnet)
ne2000=0
#---------------------------------------------------------------------------
--
# enable audio support
#audio=1
#---------------------------------------------------------------------------
--
# set the real time clock to local time [default=0 i.e. set to utc]
#localtime=1
#---------------------------------------------------------------------------
--
# start in full screen
#full-screen=1
***********
QEMU-DM Log File:
domid: 8
qemu: the number of cpus is 1
Connected to host network interface: tun0
/etc/xen/qemu-ifup: could not launch network script
shared page at pfn:20401, mfn: 3898f
Could not open CD /dev/fsivg01/d3lv01.
char device redirected to /dev/pts/1
False I/O request ... in-service already: 0, pvalid: 0, port: 0, data: 0,
count: 0, size: 0
HVM Loader
Loading ROMBIOS ...
Loading Cirrus VGABIOS ...
Loading VMXAssist ...
VMX go ...
VMXAssist (Jul 3 2006)
Memory size 512 MB
E820 map:
0000000000000000 - 000000000009F800 (RAM)
000000000009F800 - 00000000000A0000 (Reserved)
00000000000A0000 - 00000000000C0000 (Type 16)
00000000000F0000 - 0000000000100000 (Reserved)
0000000000100000 - 000000001FFFE000 (RAM)
000000001FFFE000 - 000000001FFFF000 (Type 18)
000000001FFFF000 - 0000000020000000 (Type 17)
0000000020000000 - 0000000020003000 (ACPI NVS)
0000000020003000 - 000000002000D000 (ACPI Data)
00000000FEC00000 - 0000000100000000 (Type 16)
Start BIOS ...
Starting emulated 16-bit real-mode: ip=F000:FFF0
rombios.c,v 1.138 2005/05/07 15:55:26 vruppert Exp $
HVM_PIT:guest init pit channel 0!
HVM_PIT:pass info 0xc00e90b to HV!
Remapping master: ICW2 0x8 -> 0x20
Remapping slave: ICW2 0x70 -> 0x28
VGABios $Id: vgabios.c,v 1.61 2005/05/24 16:50:50 vruppert Exp $
set_map result i 0 result 3898b
set_map result i 1 result 38988
...yatta, yatta, yatta,
set_map result i 3ff result 38589
HVMAssist BIOS, 1 cpu, $Revision: 1.138 $ $Date: 2005/05/07 15:55:26 $
ata0-0: PCHS=10402/16/63 translation=lba LCHS=652/255/63
ata0 master: QEMU HARDDISK ATA-2 Hard-Disk (5120 MBytes)
ata0-1: PCHS=10402/16/63 translation=lba LCHS=652/255/63
ata0 slave: QEMU HARDDISK ATA-2 Hard-Disk (5120 MBytes)
Booting from Hard Disk...
int13_harddisk: function 41, unmapped device for ELDL=82
int13_harddisk: function 08, unmapped device for ELDL=82
*** int 15h function AX=00C0, BX=0000 not yet supported!
KBD: unsupported int 16h function 03
int13_harddisk: function 41, unmapped device for ELDL=82
HVM_PIT:guest init pit channel 0!
HVM_PIT:pass info 0xc002e9c to HV!
Bad SWSTYLE=0x04
Thankx...
Max Baro
meb@factsservices.com <mailto:meb@factsservices.com>
_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users