- GNU make.
- - The GNU C compiler. We generally test with version 4.1, 4.2, or
- 4.3.
+ - A C compiler, such as:
+
+ * GCC 4.x.
+
+ * Clang. Clang 3.4 and later provide useful static semantic
+ analysis and thread-safety checks. For Ubuntu, there are
+ nightly built packages available on clang's website.
- libssl, from OpenSSL, is optional but recommended if you plan to
connect the Open vSwitch to an OpenFlow controller. libssl is
NET_ACT_POLICE, either built-in or as modules. (NET_CLS_POLICE is
obsolete and not needed.)
- If GRE tunneling is being used it is recommended that the kernel
- be compiled with IPv6 support (CONFIG_IPV6). This allows for
- special handling (such as path MTU discovery) of IPv6 packets.
+ To use GRE tunneling on Linux 2.6.37 or newer, kernel support
+ for GRE must be compiled in or available as a module
+ (CONFIG_NET_IPGRE_DEMUX).
To configure HTB or HFSC quality of service with Open vSwitch,
you must enable the respective configuration options.
- GNU make.
+ - clang, version 3.4 or later
+
+Also, you may find the ovs-dev script found in utilities/ovs-dev.py useful.
+
Installation Requirements
-------------------------
% ./configure CC=gcc-4.2
+ To use 'clang' compiler:
+
+ % ./configure CC=clang
+
To build the Linux kernel module, so that you can run the
kernel-based switch, pass the location of the kernel build
directory on --with-linux. For example, to build for a running
6. Run "make install" to install the executables and manpages into the
running system, by default under /usr/local.
-7. If you built kernel modules, you may load them with "insmod", e.g.:
+7. If you built kernel modules, you may install and load them, e.g.:
- % insmod datapath/linux/openvswitch.ko
+ % make modules_install
+ % /sbin/modprobe openvswitch
- You may need to specify a full path to insmod, e.g. /sbin/insmod.
To verify that the modules have been loaded, run "/sbin/lsmod" and
check that openvswitch is listed.
- If the "insmod" operation fails, look at the last few kernel log
+ If the "modprobe" operation fails, look at the last few kernel log
messages (e.g. with "dmesg | tail"):
- The message "openvswitch: exports duplicate symbol
you do not understand what this means or do not know if your driver
will work, do not set this.
- Once you verify that the kernel modules load properly, you should
- install them:
-
- % make modules_install
-
8. Initialize the configuration database using ovsdb-tool, e.g.:
% mkdir -p /usr/local/etc/openvswitch