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

Re: [Xen-users] GPLPV and dhcp should it work?


  • To: Pasi Kärkkäinen <pasik@xxxxxx>
  • From: Silviu Paragina <silviu@xxxxxxxxxxx>
  • Date: Mon, 14 Sep 2009 18:23:48 +0300
  • Cc: xen-users@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 14 Sep 2009 08:24:34 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=paragina.ro; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type; q=dns; s=doradusmail; b=ofaL2/tutu4/8ZTR4UXYTg72q MqPEcuHnKK80U6SbzWGVoVcDov1B6dPfCTppS/F+QCEKETM+Onndz4qfnTc6Vv25 LP/0QckZOkDI+89tavg3xeJE59sIxAeHlhq/urpXdXCZysN5vetjI4laawkC3scF Xv55h3JKWmDueua9vo=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

I was sure I forgot something :">

There is no physical interface, I use a stripped down network-bridge that doesn't add any physical interface to the bridge. I have attached it here. The vif script is the standard bridge one.

Also I have tried gplpv from this packages: "gplpv_chk_wlh_x86_0.10.0.83.msi" and "gplpv_chk_wlh_x86_0.10.0.86.msi"


Silviu


Pasi Kärkkäinen wrote:
On Mon, Sep 14, 2009 at 06:08:50PM +0300, Silviu Paragina wrote:
My problem:
I have
- a xen ubuntu 9.04 with xen from the repository (3.3.0 with some patches) and the debian kernel
- windows 2008 server guest with the attached config
- dhcp3 server with the attached config

If I leave everything as is (without gplpv) everything works great.
If I install gplpv and remove type=ioemu from the config the machine can not get the ip, but if I manually set the ip address it works fine.
On the dhcp server side I get "dhcpd: 5 bad udp checksums in 5 packets"


What's the physical NIC you have?
Please run "ethtool -i peth0" in dom0.

Also check the offloading settings in dom0 for the NIC:
"ethtool -k peth0"

-- Pasi

I have tried Checksum offloading from properties on the xen network device with no luck. I shall try again anyhow (I might have missed something, because I had other issues with xen at the time).

Also on another note the iso image, attached as a cdrom, vanishes after I install the drivers, but this doesn't matter much.

Searching with google I have found a few sites some that say this is solved, some that say to disable Checksum offloading, but all sites I have found refer to the 0.9.x version of the drivers, so I'm not sure of anything. Is this how they are supposed to act?



Silviu

ddns-update-style none;
default-lease-time 600;
max-lease-time 600;
log-facility daemon;


#dhcpd.conf part


subnet X.X.0.0 netmask 255.255.0.0 {
        range X.X.1.0 X.X.1.255;
        option domain-name-servers X.X.X.X, X.X.X.X;
        #option domain-name "internal.example.org";
        option routers X.X.0.1;
        #option broadcast-address X.X.255.255;
        #default-lease-time 600;
        #max-lease-time 7200;
host w2008 {
                hardware ethernet 00:16:3E:XX:XX:XX;
                fixed-address X.X.0.3;
        }
}



import os, re
arch = os.uname()[4]
if re.search('64', arch):
    arch_libdir = 'lib64'
else:
    arch_libdir = 'lib'

kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 1000

# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory = 32
name = "w2008"
vif = [ 'mac=00:16:3E:XX:XX:XX,type=ioemu,bridge=xenbr,vifname=w2008' ]
localtime = 1
dhcp = 'dhcp'
acpi = 1
apic = 1
disk = [ 'file:/var/lib/images/xenwin2008.img,hda,w', 
'file:/var/lib/images/windows2008x86.iso,hdc:cdrom,r' ]
vcpus = 2
#cpu = 1
#cpus = 1
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'

#-----------------------------------------------------------------------------
# boot on floppy (a), hard disk (c) or CD-ROM (d) # default: hard disk, cd-rom, floppy
boot="dc"
sdl=0
vnc=1
vncconsole=1
vncpasswd=''

serial='pty'
usbdevice='tablet'


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

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

#!/bin/bash
#============================================================================
# Default Xen network start/stop script.
# Xend calls a network script when it starts.
# The script name to use is defined in /etc/xen/xend-config.sxp
# in the network-script field.
#
# This script creates a bridge (default ${netdev}), adds a device
# (defaults to the device on the default gateway route) to it, copies
# the IP addresses from the device to the bridge and adjusts the routes
# accordingly.
#
# If all goes well, this should ensure that networking stays up.
# However, some configurations are upset by this, especially
# NFS roots. If the bridged setup does not meet your needs,
# configure a different script, for example using routing instead.
#
# Usage:
#
# network-bridge (start|stop|status) {VAR=VAL}*
#
# Vars:
#
# bridge     The bridge to use (default ${netdev}).
# netdev     The interface to add to the bridge (default gateway device).
# antispoof  Whether to use iptables to prevent spoofing (default no).
#
# Internal Vars:
# pdev="p${netdev}"
# tdev=tmpbridge
#
# start:
# Creates the bridge as tdev
# Copies the IP and MAC addresses from pdev to bridge
# Renames netdev to be pdev 
# Renames tdev to bridge
# Enslaves pdev to bridge
#
# stop:
# Removes pdev from the bridge
# Transfers addresses, routes from bridge to pdev
# Renames bridge to tdev
# Renames pdev to netdev 
# Deletes tdev
#
# status:
# Print addresses, interfaces, routes
#
#============================================================================


dir=$(dirname "$0")
. "$dir/xen-script-common.sh"
. "$dir/xen-network-common.sh"

findCommand "$@"
evalVariables "$@"

bridge=${bridge:-xenbr}
antispoof=${antispoof:-no}


   
do_ifup() {
    if ! ifup $1 ; then
        logger -t xen "Couldn't bring $1 up"
    fi
}

##
# link_exists interface
#
# Returns 0 if the interface named exists (whether up or down), 1 otherwise.
#
link_exists()
{
    if ip link show "$1" >/dev/null 2>/dev/null
    then
        return 0
    else
        return 1
    fi
}

# Set the default forwarding policy for $dev to drop.
# Allow forwarding to the bridge.
antispoofing () {
    iptables -P FORWARD DROP
    iptables -F FORWARD
    iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT
}

# Usage: show_status dev bridge
# Print ifconfig and routes.
show_status () {
    local bridge=$1
    
    echo '============================================================'
    ip addr show ${bridge}
    echo ' '
    brctl show ${bridge}
    echo ' '
    ip route list
    echo ' '
    route -n
    echo '============================================================'
}

op_start () {
    if [ "${bridge}" = "null" ] ; then
        return
    fi

    if link_exists "${bridge}"; then
        # The device is already up.
        return
    fi

    create_bridge ${bridge}

    do_ifup ${bridge}

    if [ ${antispoof} = 'yes' ] ; then
        antispoofing
    fi
}

op_stop () {
    if [ "${bridge}" = "null" ]; then
        return
    fi
    if ! link_exists "$bridge"; then
        return
    fi

    brctl delbr ${tdev}
}

case "$command" in
    start)
        op_start
        ;;
    
    stop)
        op_stop
        ;;

    status)
        show_status ${bridge}
        ;;

    *)
        echo "Unknown command: $command" >&2
        echo 'Valid commands are: start, stop, status' >&2
        exit 1
esac
_______________________________________________
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®.