analysis and thread-safety checks. For Ubuntu, there are
nightly built packages available on clang's website.
+ While OVS may be compatible with other compilers, optimal
+ support for atomic operations may be missing, making OVS very
+ slow (see lib/ovs-atomic.h).
+
- libssl, from OpenSSL, is optional but recommended if you plan to
connect the Open vSwitch to an OpenFlow controller. libssl is
required to establish confidentiality and authenticity in the
obsolete and not needed.)
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).
+ for GRE demultiplexing (CONFIG_NET_IPGRE_DEMUX) must be compiled
+ in or available as a module. Also, on kernels before 3.11, the
+ ip_gre module, for GRE tunnels over IP (NET_IPGRE), must not be
+ loaded or compiled in.
To configure HTB or HFSC quality of service with Open vSwitch,
you must enable the respective configuration options.
distribution tarball), or if you modify the Open vSwitch build system
or the database schema, you will also need the following software:
- - Autoconf version 2.64 or later.
+ - Autoconf version 2.63 or later.
- Automake version 1.10 or later.
% ./boot.sh
-2. In the top source directory, configure the package by running the
- configure script. You can usually invoke configure without any
- arguments:
+2. Configure the package by running the configure script. You can
+ usually invoke configure without any arguments. For example:
% ./configure
additional environment variables. For a full list, invoke
configure with the --help option.
-3. Run GNU make in the top source directory, e.g.:
+ You can also run configure from a separate build directory. This
+ is helpful if you want to build Open vSwitch in more than one way
+ from a single source directory, e.g. to try out both GCC and Clang
+ builds, or to build kernel modules for more than one Linux version.
+ Here is an example:
+
+ % mkdir _gcc && (cd _gcc && ../configure CC=gcc)
+ % mkdir _clang && (cd _clang && ../configure CC=clang)
+
+3. Run GNU make in the build directory, e.g.:
% make
% gmake
+ If you used a separate build directory, run make or gmake from that
+ directory, e.g.:
+
+ % make -C _gcc
+ % make -C _clang
+
For improved warnings if you installed "sparse" (see
"Prerequisites"), add C=1 to the command line.