1

I have updated one of my servers from Xen 4.1.4 (Debian squeeze) to Xen 4.4.1 (Debian jessie). As xend/xm is deprecated I would like to use the xl tool kit with Xen 4.4.1. But now I have issues with the networking setup of my VMs.

My VMs use a mixed routed and bridged interface setup. Internal traffic as well as the experimental IPv6 interface is bridged while the interface holding the public IP is routed. However, Xen 4.4.1 seems to completely ignore my script/bridge/vifname variables in the vm configuration and only uses the default vif script and interface names.

How can I get my existing vm configuration to run successfully on Xen 4.4.1?

Please find the relevant configuration/log files below:

VMs network configuration: (Mentioned bridges are pre-created via /etc/network/interfaces, replaced original public IP address)

vif=['mac=fe:fd:1:00:00:0, vifname=int-vm0, script=vif-bridge, bridge=int',
     'mac=fe:fd:1:00:00:1, vifname=ext-vm0,ip=a.b.c.d', 
     'mac=fe:fd:1:00:00:2, vifname=v6-vm0, script=vif-bridge, bridge=v6']

/etc/xen/xl.conf

# default vif script to use if none is specified in the guest config
#vif.default.script="vif-bridge"
vif.default.script="/etc/xen/scripts/vif-route"

# default bridge device to use with vif-bridge hotplug scripts
#vif.default.bridge="xenbr0"

Relevant networking syslog entries when starting the virtual host:

Dec  4 15:47:00 host root: /etc/xen/scripts/block: add XENBUS_PATH=backend/vbd/16/51713
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/0
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/1
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: online type_if=vif XENBUS_PATH=backend/vif/16/2
Dec  4 15:47:00 host kernel: [83460.131540] IPv6: ADDRCONF(NETDEV_UP): vif16.0: link is not ready
Dec  4 15:47:00 host kernel: [83460.135514] IPv6: ADDRCONF(NETDEV_UP): vif16.1: link is not ready
Dec  4 15:47:00 host kernel: [83460.140061] IPv6: ADDRCONF(NETDEV_UP): vif16.2: link is not ready
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.2.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/2/hotplug-status connected to xenstore.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.0.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/0/hotplug-status connected to xenstore.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Successful vif-route online for vif16.1.
Dec  4 15:47:00 host root: /etc/xen/scripts/vif-route: Writing backend/vif/16/1/hotplug-status connected to xenstore.

Please let me know if you need more information.

  • There are quite a few issues, missing features with xl under xen 4.1. This explains why xm, despite being deprecated was still the default. I don't recommend you switch the xl. Theres other problems with it. For example, you can't do VM cpu core pinning from the config files. – Matt Dec 5 '14 at 0:36
0

The given mac addresses in the vif section of the configuration miss the leading zeros which seems to confuse the mac address parser within libxl and causing it to ignore all configuration items after the mac address.

You can check the parser by using the debug output of the xl create command

xl create vm0 -d -n

The following network configuration works for my vm now: (Replaced public IP address)

vif=['mac=fe:fd:01:00:00:00, vifname=int-vm0, script=vif-bridge, bridge=int',
     'mac=fe:fd:01:00:00:01, vifname=ext-vm0, ip=a.b.c.d', 
     'mac=fe:fd:01:00:00:02, vifname=v6-vm0, script=vif-bridge, bridge=v6']

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.