Support vlan_group workaround implemented in XenServer kernels.
[sliver-openvswitch.git] / INSTALL.Linux
index 8ae7aac..0d56da6 100644 (file)
@@ -3,7 +3,7 @@
 
 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.
+XenServer, see INSTALL.XenServer instead.
 
 This version of Open vSwitch may be built manually with "configure"
 and "make", as described below.  You may also build Debian packages by
@@ -20,6 +20,8 @@ you will need the following software:
     - 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
@@ -72,8 +74,6 @@ you will also need the following software:
 
     - 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
@@ -227,9 +227,22 @@ Prerequisites section, follow the procedure below to build.
         module loading, please include the output from the "dmesg" and
         "modinfo" commands mentioned above.
 
+   There is an optional module parameter to openvswitch_mod.ko called
+   vlan_tso that enables TCP segmentation offload over VLANs on NICs
+   that support it. Many drivers do not expose support for TSO on VLANs
+   in a way that Open vSwitch can use but there is no way to detect
+   whether this is the case. If you know that your particular driver can
+   handle it (for example by testing sending large TCP packets over VLANs)
+   then passing in a value of 1 may improve performance. Modules built for
+   Linux kernels 2.6.37 and later, as well as specially patched versions
+   of earlier kernels, do not need this and do not have this parameter. If
+   you do not understand what this means or do not know if your driver
+   will work, do not set this.
+
 7. Initialize the configuration database using ovsdb-tool, e.g.:
 
-      % ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema
+      % mkdir -p /usr/local/etc/openvswitch
+      % ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
 
 Startup
 =======
@@ -242,12 +255,13 @@ 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 \
+      % ovsdb-server /usr/local/etc/openvswitch/conf.db \
                       --remote=punix:/usr/local/var/run/openvswitch/db.sock \
-                      --remote=db:Open_vSwitch,managers \
+                      --remote=db:Open_vSwitch,manager_options \
                       --private-key=db:SSL,private_key \
                       --certificate=db:SSL,certificate \
-                      --bootstrap-ca-cert=db:SSL,ca_cert
+                      --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
@@ -258,7 +272,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:
 
-      % 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
@@ -270,6 +285,33 @@ eth0 and vif1.0 to it:
 
 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.:
+
+      % kill `cd /usr/local/var/run && cat 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/openvswitch/conf.db vswitchd/vswitch.ovsschema
+
+4. Start the Open vSwitch daemons as described under "Building and
+   Installing Open vSwitch for Linux" above.
+
 Bug Reporting
 -------------