====================================
This document describes how to build and install Open vSwitch on a
-generic Linux host host. If you want to install Open vSwitch on a
-Citrix XenServer 5.5.0, see INSTALL.XenServer instead.
+generic Linux host. If you want to install Open vSwitch on a Citrix
+XenServer version 5.5.0, see INSTALL.XenServer instead.
This version of Open vSwitch should be built manually with "configure"
and "make". Debian packaging for Open vSwitch is also included, but
connections from an Open vSwitch to an OpenFlow controller. To
enable, configure with --enable-ssl=yes.
-To compile the kernel module (which is required for operation), you
-must also install the following:
+ - libpcre, the Perl Compatible Regular Expression library, is
+ optional but recommended. Without it, OVSDB will not be able to
+ validate regular-expression based contraints.
+
+To compile the kernel module, you must also install the following. If
+you cannot build or install the kernel module, you may use the
+userspace-only implementation, at a cost in performance. The
+userspace implementation may also lack some features. Refer to
+INSTALL.userspace for more information.
- A supported Linux kernel version. Please refer to README for a
list of supported versions.
distribution tarball), or if you modify the Open vSwitch build system,
you will also need the following software:
- - Autoconf version 2.60 or later.
+ - Autoconf version 2.63 or later.
- Automake version 1.10 or later.
- pkg-config. We test with version 0.22.
+ - Python 2.x, for x >= 4.
+
Installation Requirements
-------------------------
- libssl compatible with the libssl used for build, if OpenSSL was
used for the build.
+ - libpcre compatible with the libpcre used for build, if PCRE was
+ used for the build.
+
- The Linux kernel version configured as part of the build.
- For optional support of ingress policing, the "tc" program from
Once you have installed all the prerequisites listed above in the Base
Prerequisites section, follow the procedure below to build.
-1. In the top source directory, configure the package by running the
+1. If you pulled the sources directly from an Open vSwitch Git tree,
+ run boot.sh in the top source directory:
+
+ % ./boot.sh
+
+2. In the top source directory, configure the package by running the
configure script. You can usually invoke configure without any
arguments:
additional environment variables. For a full list, invoke
configure with the --help option.
-2. Run make in the top source directory:
+3. Run make in the top source directory:
% make
-3. Become root by running "su" or another program.
+4. Become root by running "su" or another program.
-4. Run "make install" to install the executables and manpages into the
+5. Run "make install" to install the executables and manpages into the
running system, by default under /usr/local.
-5. If you built kernel modules, you may load them with "insmod", e.g.:
+6. If you built kernel modules, you may load them with "insmod", e.g.:
% insmod datapath/linux-2.6/openvswitch_mod.ko
At runtime, you may make ovs-vswitchd reload its configuration file
and update its configuration accordingly by sending it a SIGHUP
-signal. The ovs-appctl utility can also be used to do this with a
-command such as:
+signal. The ovs-appctl utility can also be used to do this:
- % ovs-appctl -t <pid> -e vswitchd/reload
+ % ovs-appctl vswitchd/reload
-where <pid> is ovs-vswitchd's process ID. In the latter case,
-ovs-appctl will not exit until the reload and reconfiguration is
-complete.
+In the latter case, ovs-appctl will wait for ovs-vswitchd to finish
+reloading before it exits.
Bug Reporting
-------------