===============================================
This document describes how to build and install Open vSwitch on a
-Citrix XenServer 5.5.0 host. If you want to install Open vSwitch on a
+Citrix XenServer host. If you want to install Open vSwitch on a
generic Linux host, see INSTALL.Linux instead.
+These instructions have been tested with XenServer 5.6 FP1.
+
Building Open vSwitch for XenServer
-----------------------------------
/usr/src/redhat/SOURCES inside the VM. Then execute the following:
VERSION=<Open vSwitch version>
- XENKERNEL=<Xen kernel version>
+ KERNEL_NAME=<Xen Kernel name>
+ KERNEL_VERSION=<Xen Kernel version>
+ KERNEL_FLAVOR=<Xen Kernel flavor(suffix) >
cd /tmp
tar xfz /usr/src/redhat/SOURCES/openvswitch-$VERSION.tar.gz
rpmbuild \
- -D "vswitch_version $VERSION" \
- -D "xen_version $XENKERNEL" \
- -bb openvswitch-$VERSION/xenserver/vswitch-xen.spec
+ -D "openvswitch_version $VERSION" \
+ -D "kernel_name $KERNEL_NAME" \
+ -D "kernel_version $KERNEL_VERSION" \
+ -D "kernel_flavor $KERNEL_FLAVOR" \
+ -bb openvswitch-$VERSION/xenserver/openvswitch-xen.spec
where:
<openvswitch version> is the version number that appears in the
name of the Open vSwitch tarball, e.g. 0.90.0.
- <Xen kernel version> is the version number of the Xen kernel,
- e.g. 2.6.18-128.1.1.el5.xs5.5.0.487.1006xen. This version number
- appears as the name of a directory in /lib/modules inside the VM.
- It always ends in "xen".
+ <Xen Kernel name> is the name of the Xen Kernel,
+ e.g. kernel-xen or kernel-NAME-xen. By convention, the name
+ starts with "kernel-" and ends with "-xen".
+ This can be obtained by executing
+ 'rpm -q --queryformat "%{Name}" kernel.*xen'
+ with the "kernel-" stripped out using sed 's/kernel-//'
+ e.g. kernel-NAME-xen => NAME-xen
+
+ <Xen Kernel version> is the output of:
+ rpm -q --queryformat "%{Version}-%{Release}" kernel.*xen-devel
+ e.g. 2.6.32.12-0.7.1.xs5.6.100.323.170596
+
+ <Xen Kernel flavor (suffix) > is either "xen" or "kdump".
+ The "xen" flavor is the main running kernel flavor and the "kdump" flavor is
+ the crashdump kernel flavor. Commonly, one would specify "xen" here.
-Two RPMs will be output into /usr/src/redhat/RPMS, whose names begin
-with "vswitch" and "vswitch-debuginfo".
+Three RPMs will be output into /usr/src/redhat/RPMS/i386, whose names begin
+with "openvswitch", "openvswitch-modules-xen" (if building for kernel_flavor=xen),
+and "openvswitch-debuginfo".
Installing Open vSwitch for XenServer
-------------------------------------
-To install Open vSwitch on a XenServer host, or to upgrade to a newer
-version, copy the "vswitch" RPM to that host with "scp", then install
-it with "rpm -U", e.g.:
+To install Open vSwitch on a XenServer host, or to upgrade to a newer version,
+copy the "openvswitch" and "openvswitch-modules-xen" RPMs to that host with
+"scp", then install them with "rpm -U", e.g.:
- scp vswitch-$VERSION-1.i386.rpm root@<host>:
-(At this point you will have to enter <host>'s root password.)
+ scp openvswitch-$VERSION-1.i386.rpm \
+ openvswitch-modules-xen-$XEN_KERNEL_VERSION-$VERSION-1.i386.rpm \
+ root@<host>:
+(At this point you will have to enter <host>'s root password.)
ssh root@<host>
-(At this point you will have to enter <host>'s root password again.)
- rpm -U vswitch-$VERSION-1.i386.rpm
+(At this point you will have to enter <host>'s root password again.)
+ rpm -U openvswitch-$VERSION-1.i386.rpm \
+ openvswitch-modules-xen-$XEN_KERNEL_VERSION-$VERSION-1.i386.rpm
-To uninstall Open vSwitch from a XenServer host, remove the package:
+To uninstall Open vSwitch from a XenServer host, remove the packages:
ssh root@<host>
-(At this point you will have to enter <host>'s root password again.)
- rpm -e vswitch
+(At this point you will have to enter <host>'s root password again.)
+ rpm -e openvswitch openvswitch-modules-xen-$XEN_KERNEL_VERSION
After installing or uninstalling Open vSwitch, the XenServer should be
rebooted as soon as possible.