aboutsummaryrefslogtreecommitdiffstats
path: root/main/openvswitch/readme.debian.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/openvswitch/readme.debian.patch')
-rw-r--r--main/openvswitch/readme.debian.patch86
1 files changed, 45 insertions, 41 deletions
diff --git a/main/openvswitch/readme.debian.patch b/main/openvswitch/readme.debian.patch
index e641e70914..af89a0d355 100644
--- a/main/openvswitch/readme.debian.patch
+++ b/main/openvswitch/readme.debian.patch
@@ -9,36 +9,36 @@
-In order of increasing manual effort, these are:
-
- * Use a Linux kernel 3.3 or later, which has an integrated Open
-- vSwitch kernel module.
+- vSwitch kernel module.
-
-- The upstream Linux kernel module lacks a few features that
-- are in the third-party module. For details, please see the
-- FAQ, "What features are not available in the Open vSwitch
-- kernel datapath that ships as part of the upstream Linux
-- kernel?".
+- The upstream Linux kernel module lacks a few features that
+- are in the third-party module. For details, please see the
+- FAQ, "What features are not available in the Open vSwitch
+- kernel datapath that ships as part of the upstream Linux
+- kernel?".
-
- * Install the "openvswitch-datapath-dkms" Debian package that
-- you built earlier. This should automatically build and
-- install the Open vSwitch kernel module for your running
-- kernel.
+- you built earlier. This should automatically build and
+- install the Open vSwitch kernel module for your running
+- kernel.
-
-- This option requires that you have a compiler and toolchain
-- installed on the machine where you run Open vSwitch, which
-- may be unacceptable in some production server environments.
+- This option requires that you have a compiler and toolchain
+- installed on the machine where you run Open vSwitch, which
+- may be unacceptable in some production server environments.
-
- * Install the "openvswitch-datapath-source" Debian package, use
-- "module-assistant" to build a Debian package of the Open
-- vSwitch kernel module for your kernel, and then install that
-- Debian package.
+- "module-assistant" to build a Debian package of the Open
+- vSwitch kernel module for your kernel, and then install that
+- Debian package.
-
-- You can install the kernel module Debian packages that you
-- build this way on the same machine where you built it or on
-- another machine or machines, which means that you don't
-- necessarily have to have any build infrastructure on the
-- machines where you use the kernel module.
+- You can install the kernel module Debian packages that you
+- build this way on the same machine where you built it or on
+- another machine or machines, which means that you don't
+- necessarily have to have any build infrastructure on the
+- machines where you use the kernel module.
-
-- /usr/share/doc/openvswitch-datapath-source/README.Debian has
-- details on the build process.
+- /usr/share/doc/openvswitch-datapath-source/README.Debian has
+- details on the build process.
-
- * Build and install the kernel module by hand.
-
@@ -62,16 +62,31 @@
-ifdown --allow=ovs $list_of_bridges
+ifup $list_of_bridges
+ifdown $list_of_bridges
++
++Notes on LXC integration:
++-------------------------
++
++To prevent containers failing to start after hard reboots create:
++-----------------------------------------------------------------
++
++/etc/lxc/ovsup:
++
++#!/bin/sh
++ovs-vsctl --if-exists del-port $5
++-----------------------------------------------------------------
++
++/etc/lxc/ovsdown:
++
++#!/bin/sh
-Notes on dependencies:
----------------------
-+Notes on LXC integration:
-+-------------------------
++ovs-vsctl --if-exists del-port veth.$LXC_NAME
++-----------------------------------------------------------------
-openvswitch-switch depends on $network, $named $remote_fs and $syslog to start.
-This creates some startup dependency issues.
-+To prevent containers failing to start after hard reboots create:
-+-----------------------------------------------------------------
++& add to the container config file:
-* Since openvswitch utilities are placed in /usr and /usr can be mounted
-through NFS, openvswitch has to start after it. But if a user uses openvswitch
@@ -79,28 +94,22 @@
-So, if /usr is mounted through NFS and openvswitch is used for all networking,
-the administrator should figure out a way to mount NFS before starting OVS.
-One way to do this is in initramfs.
-+/etc/lxc/ovsup:
-
+-
-* Since openvswitch starts after $network, $remote_fs and $syslog, any startup
-script that depends on openvswitch but starts before it, needs to be changed
-to depend on openvswitch-switch too.
-+#!/bin/sh
-+ovs-vsctl --if-exists del-port $5
-+-----------------------------------------------------------------
-
+-
-* Ideally, an admin should not add openvswitch bridges in the 'auto'
-section of the 'interfaces' file (i.e., if "br0" is a OVS bridge, you should
-not have a line "auto br0"). This is because, when ifupdown starts
-working on bridges listed in 'auto', openvswitch has not yet started.
-+/etc/lxc/ovsdown:
-
+-
-But, if the admin wants to go down this route and adds openvswitch bridges
-in the 'auto' section, openvswitch-switch will forcefully be started when
-ifupdown kicks in. In a case like this, the admin needs to make sure that /usr
-has already been mounted and that a remote $syslog (if used) is ready to
-receive openvswitch logs.
-+#!/bin/sh
-
+-
-* With systemd, adding openvswitch bridges in the 'auto' section of the
-'interfaces' file can cause race conditions (i.e., if "br0" is a OVS bridge,
-you should not have a line "auto br0"). Debian systems have added a
@@ -110,10 +119,5 @@
-bridges using tools like "ovs-vsctl" or "ovs-dpctl". This is also a problem
-when you upgrade your openvswitch kernel module using commands like
-'force-reload-kmod'.
-+ovs-vsctl --if-exists del-port veth.$LXC_NAME
-+-----------------------------------------------------------------
-+
-+& add to the container config file:
-+
+lxc.hook.pre-start = /etc/lxc/ovsup
+lxc.hook.post-stop = /etc/lxc/ovsdown