daemon: Suppress valgrind warnings from read_pidfile().
[sliver-openvswitch.git] / INSTALL.Linux
index 7cfba40..e950c05 100644 (file)
@@ -5,10 +5,9 @@ This document describes how to build and install Open vSwitch on a
 generic Linux host.  If you want to install Open vSwitch on a Citrix
 XenServer version 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
-they have not been recently tested, and so Debian packages are not a
-recommended way to use this version of Open vSwitch.
+This version of Open vSwitch may be built manually with "configure"
+and "make", as described below.  You may also build Debian packages by
+running "dpkg-buildpackage".
 
 Build Requirements
 ------------------
 
 Build Requirements
 ------------------
@@ -21,11 +20,14 @@ you will need the following software:
     - The GNU C compiler.  We generally test with version 4.1, 4.2, or
       4.3.
 
     - The GNU C compiler.  We generally test with version 4.1, 4.2, or
       4.3.
 
+    - pkg-config.  We test with version 0.22.
+
     - 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
     - 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
-      connections from an Open vSwitch to an OpenFlow controller.  To
-      enable, configure with --enable-ssl=yes.
+      connections from an Open vSwitch to an OpenFlow controller.  If
+      libssl is installed, then Open vSwitch will automatically build
+      with support for it.
 
 To compile the kernel module, you must also install the following.  If
 you cannot build or install the kernel module, you may use the
 
 To compile the kernel module, you must also install the following.  If
 you cannot build or install the kernel module, you may use the
@@ -72,8 +74,6 @@ you will also need the following software:
 
     - Automake version 1.10 or later.
 
 
     - Automake version 1.10 or later.
 
-    - pkg-config.  We test with version 0.22.
-
     - Python 2.x, for x >= 4.
 
 If you modify the ovsdbmonitor tool, then you will also need the
     - Python 2.x, for x >= 4.
 
 If you modify the ovsdbmonitor tool, then you will also need the
@@ -238,9 +238,17 @@ Before starting ovs-vswitchd itself, you need to start its
 configuration database, ovsdb-server.  Each machine on which Open
 vSwitch is installed should run its own copy of ovsdb-server.
 Configure it to use the database you created during step 7 of
 configuration database, ovsdb-server.  Each machine on which Open
 vSwitch is installed should run its own copy of ovsdb-server.
 Configure it to use the database you created during step 7 of
-installation, above, and to listen on a Unix domain socket, e.g.:
-
-      % ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock
+installation, above, to listen on a Unix domain socket, to connect to
+any managers specified in the database itself, and to use the SSL
+configuration in the database:
+
+      % ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db \
+                      --remote=punix:/usr/local/var/run/openvswitch/db.sock \
+                      --remote=db:Open_vSwitch,managers \
+                      --private-key=db:SSL,private_key \
+                      --certificate=db:SSL,certificate \
+                      --bootstrap-ca-cert=db:SSL,ca_cert \
+                      --pidfile --detach
 
 Then initialize the database using ovs-vsctl.  This is only
 necessary the first time after you create the database with
 
 Then initialize the database using ovs-vsctl.  This is only
 necessary the first time after you create the database with
@@ -251,7 +259,8 @@ ovsdb-tool (but running it at any time is harmless):
 Then start the main Open vSwitch daemon, telling it to connect to the
 same Unix domain socket:
 
 Then start the main Open vSwitch daemon, telling it to connect to the
 same Unix domain socket:
 
-      % ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock
+      % ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock \
+            --pidfile --detach 
 
 Now you may use ovs-vsctl to set up bridges and other Open vSwitch
 features.  For example, to create a bridge named br0 and add ports
 
 Now you may use ovs-vsctl to set up bridges and other Open vSwitch
 features.  For example, to create a bridge named br0 and add ports
@@ -263,6 +272,33 @@ eth0 and vif1.0 to it:
 
 Please refer to ovs-vsctl(8) for more details.
 
 
 Please refer to ovs-vsctl(8) for more details.
 
+Upgrading
+=========
+
+When you upgrade Open vSwitch from one version to another, you should
+also upgrade the database schema:
+
+1. Stop the Open vSwitch daemons, e.g.:
+
+      % ovs-kill ovsdb-server.pid ovs-vswitchd.pid
+
+2. Install the new Open vSwitch release.
+
+3. Upgrade the database, in one of the following two ways:
+
+      - If there is no important data in your database, then you may
+        delete the database file and recreate it with ovsdb-tool,
+        following the instructions under "Building and Installing Open
+        vSwitch for Linux".
+
+      - If you want to preserve the contents of your database, back it
+        up first, then use "ovsdb-tool convert" to upgrade it, e.g.:
+
+        % ovsdb-tool convert /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema
+
+4. Start the Open vSwitch daemons as described under "Building and
+   Installing Open vSwitch for Linux" above.
+
 Bug Reporting
 -------------
 
 Bug Reporting
 -------------