netlink-socket: Adapt to Windows and MSVC.
[cascardo/ovs.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index afefb51..ede5488 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -28,6 +28,10 @@ you will need the following software:
           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
@@ -63,8 +67,10 @@ install the following:
       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.
@@ -85,7 +91,7 @@ If you are working from a Git tree or snapshot (instead of from a
 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.
 
@@ -149,9 +155,8 @@ Prerequisites section, follow the procedure below to build.
 
       % ./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
 
@@ -203,7 +208,16 @@ Prerequisites section, follow the procedure below to build.
    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
 
@@ -211,6 +225,12 @@ Prerequisites section, follow the procedure below to build.
 
       % 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.