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-users

[Xen-users] Networking problems

To: Xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] Networking problems
From: Michel Drescher <Michel.Drescher@xxxxxxxxxxxxxx>
Date: Tue, 22 May 2007 14:09:18 +0100
Delivery-date: Tue, 22 May 2007 06:08:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Openpgp: id=334AC384
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.10 (Windows/20070221)
Dear Xen wranglers,

I have the following problem:

Hardware:
- HP ProLiant ML150 G3

Software:
- Ubuntu Linux "Feisty Fawn" (7.04) AMD64 edition
- Xen 3 (Ubuntu packages)

I successfully installed Xen 3, and dom0 is running fine (without apparent
errors), even on the Tigon3 network chip (see attached dom0-eth0.txt
excerpt from dmesg) using the Ubuntu kernel 2.6.19-4-generic-amd64 (as per
dmesg).

I had some trouble setting up a HVM based VM, but I finally mastered it,
and was able to install the following OS:

- domU: Ubuntu Linux "Feisty Fawn" (7.04) i386 edition, from the netboot
mini.iso, using Linux kernel 2.6.20-15-generic. I failed installing the
amd64 mini.iso as Ubuntu barked at me with some errors.

The reason to use this 7.04 edition is because using the LiveCD results in
a blank screen for some technical reasons (Intel not properly virtualising
some VBE commands?)

However, the mini.iso booted fine, and I was able to install Ubuntu 7.04.
Note that the installation accessed the Internet to download the packages
from the Ubuntu GB archive.

The installation finished, and I rebooted the VM (after switching the boot
order to the "harddrive"). Rebooting goes fine, and I can attach a
VNCviewer and watch my VM boot up. :-)

However, and this is the downside, the VM brings up only the loopback
device. The VM exports the virtual eth0 as RTL8139, but trying to bring up
eth0 manually results in the following error:

---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------
mdrescher@baseline-vm:~$ sudo ifup eth0
Password:
eth0: ERROR while getting interface flags: No such device
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
eth0: ERROR while getting interface flags: No such device
Failed to bring up eth0.
---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------

Unfortunately, as I don't have network and my vncViewer does'nt capture
screens, I have to describe the dmesg output of domU:

According to the dmesg output, the RTL8139too Fast Ethernet driver v0.9.28
is loaded, which detects an "enhanced" 8139C+ chip (?) so it will use the
8139cp driver for improved performance (well, well...)
Later, the driver says "unknown chip version, assuming RTL-8139"

Can you help me out getting the following issues resolved?
a) Getting networking up (obviously) using the real Tigon3 driver or
something emulating
b) When booting domU from the mini.iso, networking went just fine, but why?
b) When trying to export the disk image as "ioemu:sda" the domU Ubuntu 7.04
mini.iso wasn't able to find the disk, probably because lacking an
appropriate kernel module?

Thanks, and any help is much appreciated!

Attached TEXT files:
- dom0-eth0-txt: Excerpt from dom0 dmesg output related to eth0
- test.hvm: My HVM VM config file I'm using.


Cheers,
Michel
[    5.289415] eth0: Tigon3 [partno(N/A) rev 1002 PHY(5703)] (PCI:33MHz:32-bit) 
10/100/1000BaseT Ethernet 00:1a:4b:52:09:9d
[    5.289816] eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] Split[0] 
WireSpeed[1] TSOcap[0] 
[    5.289911] eth0: dma_rwctrl[763f0000] dma_mask[64-bit]
[   12.299006] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   13.612084] tg3: eth0: Link is up at 1000 Mbps, full duplex.
[   13.612087] tg3: eth0: Flow control is off for TX and off for RX.
[   13.617966] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.105816] ADDRCONF(NETDEV_UP): peth0: link is not ready
[   22.126424] tg3: peth0: Link is up at 1000 Mbps, full duplex.
[   22.126428] tg3: peth0: Flow control is off for TX and off for RX.
[   22.127292] ADDRCONF(NETDEV_CHANGE): peth0: link becomes ready
[   22.160026] device peth0 entered promiscuous mode
[   22.160037] audit(1179835215.897:3): dev=peth0 prom=256 old_prom=0 
auid=4294967295
[   22.260027] xenbr0: port 2(peth0) entering learning state
[   22.264013] xenbr0: port 2(peth0) entering forwarding state
[   32.508007] eth0: no IPv6 routers present
#  -*- 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"
# we use the HVM loader provided by xen-ioemu-3.0
kernel = "/usr/lib/xen-ioemu-3.0/boot/hvmloader"

# The domain build function. HVM domain uses 'hvm'.
# As we use HVM anyway, we do not depend on a builder and initrd
# because HVM provides the full boot cycle starting at the BIOS!
builder='hvm'

# Initial memory allocation (in megabytes) for the new domain.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.
memory = 512

# Shadow pagetable memory for the domain, in MB.
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory = 8

# A name for your domain. All domains must have different names.
name = "baseline-vm"

# 128-bit UUID for the domain.  The default behavior is to generate a new UUID
# on each call to 'xm create'.
#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"

#-----------------------------------------------------------------------------
# the number of cpus guest platform has, default=1
vcpus=1

# enable/disable HVM guest PAE, default=0 (disabled)
# PAE = Physical Address Extension - not needed (for now?)
#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.
# 
# IMPORTANT: the network card MUST be of type ioemu to keep HVM happy!
#
#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ]
# type=ioemu specify the NIC is an ioemu device not netfront
vif = [ 'type=ioemu, bridge=xenbr0' ]
#hostname = 'vm01.arcon-grid.net'
#netmask = '255.255.255.0'
#gateway = '192.168.1.81'

#----------------------------------------------------------------------------
# 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:/home/xen/VMs/test/disk.img,ioemu:hda,w',  # the VM's hard drive
       ] 
          # the VM's CDROM drive

#----------------------------------------------------------------------------
# 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-ioemu-3.0/bin/qemu-dm'

#-----------------------------------------------------------------------------
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
#boot="cda"
boot="c"

#-----------------------------------------------------------------------------
#  write to temporary files instead of disk image files
#snapshot=1

#----------------------------------------------------------------------------
# enable SDL library for graphics, default = 0
sdl=0

#----------------------------------------------------------------------------
# enable VNC library for graphics, default = 1
vnc=1

#----------------------------------------------------------------------------
# address that should be listened on for the VNC server if vnc is set.
# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
#vnclisten="127.0.0.1"

#----------------------------------------------------------------------------
# set VNC display number, default = domid
#vncdisplay=1

#----------------------------------------------------------------------------
# try to find an unused port for the VNC server, default = 1
#vncunused=1

#----------------------------------------------------------------------------
# enable spawning vncviewer for domain's console
# (only valid when vnc=1), default = 0
vncconsole=1

#----------------------------------------------------------------------------
# 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 sound card support, [sb16|es1370|all|..,..], default none
#soundhw='sb16'


#-----------------------------------------------------------------------------
#    set the real time clock to local time [default=0 i.e. set to utc]
#localtime=1


#-----------------------------------------------------------------------------
#    start in full screen
#full-screen=1


#-----------------------------------------------------------------------------
#   Enable USB support (specific devices specified at runtime through the
#                       monitor window)
#usb=1

#   Enable USB mouse support (only enable one of the following, `mouse' for
#                             PS/2 protocol relative mouse, `tablet' for
#                             absolute mouse)
#usbdevice='mouse'
#usbdevice='tablet'

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
<Prev in Thread] Current Thread [Next in Thread>