util: New macro BUILD_ASSERT_TYPE.
[cascardo/ovs.git] / INSTALL.md
index d060171..dc688ad 100644 (file)
@@ -43,9 +43,12 @@ you will need the following software:
     libssl is installed, then Open vSwitch will automatically build
     with support for it.
 
-  - Python 2.x, for x >= 4.
+  - libcap-ng, written by Steve Grubb, is optional but recommended.  It
+    is required to run OVS daemons as a non-root user with dropped root
+    privileges.  If libcap-ng is installed, then Open vSwitch will
+    automatically build with support for it.
 
-  - patch (The utility that is used to patch files).
+  - Python 2.7. You must also have the Python six library.
 
 On Linux, you may choose to compile the kernel module that comes with
 the Open vSwitch distribution or to use the kernel module built into
@@ -116,8 +119,6 @@ formats other than plain text, only if you have the following:
   - Perl.  Version 5.10.1 is known to work.  Earlier versions should
     also work.
 
-  - Python 2.x, for x >= 4.
-
 If you are going to extensively modify Open vSwitch, please consider
 installing the following to obtain better warnings:
 
@@ -128,6 +129,8 @@ installing the following to obtain better warnings:
 
   - clang, version 3.4 or later
 
+  - flake8 (for Python code)
+
 Also, you may find the ovs-dev script found in utilities/ovs-dev.py useful.
 
 Installation Requirements
@@ -147,6 +150,8 @@ following software:
     from iproute2 (part of all major distributions and available at
     http://www.linux-foundation.org/en/Net:Iproute2).
 
+  - Python 2.7. You must also have the Python six library.
+
 On Linux you should ensure that /dev/urandom exists.  To support TAP
 devices, you must also ensure that /dev/net/tun exists.
 
@@ -204,6 +209,12 @@ default CFLAGS plus "-mssse3", you might run configure as follows:
 
       `% ./configure CFLAGS="-g -O2 -mssse3"`
 
+Note that these CFLAGS are not applied when building the Linux
+kernel module.  Custom CFLAGS for the kernel module are supplied
+using the EXTRA_CFLAGS variable when running make.  So, for example:
+
+      `% make EXTRA_CFLAGS="-Wno-error=date-time"
+
 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
@@ -629,6 +640,13 @@ To recompile and reinstall OVS using RPM:
        ./boot.sh
        vagrant provision --provision-with configure_ovs,install_rpm
 
+Two provisioners are included to run system tests with the OVS kernel
+module or with a userspace datapath.  This tests are different from
+the self-tests mentioned above.  To run them:
+
+       ./boot.sh
+       vagrant provision --provision-with configure_ovs,test_ovs_kmod,test_ovs_system_userspace
+
 Continuous Integration with Travis-CI
 -------------------------------------