meta-flow: Correctly set destination MAC in mf_set_flow_value().
[sliver-openvswitch.git] / INSTALL.bridge
index 7738cd2..8080625 100644 (file)
@@ -4,10 +4,11 @@
 This file documents how Open vSwitch may be used as a drop-in
 replacement for a Linux kernel bridge in an environment that includes
 elements that are tightly tied to the Linux bridge tools
-(e.g. "brctl") and architecture.  We do not recommend using the
-approach described here outside such an environment, since the other
-tools included with Open vSwitch are easier to use and more
-general-purpose than the Linux bridging tools.
+(e.g. "brctl") and architecture.  We recommend directly using the
+management tools provided with Open vSwitch rather than these
+compatibility hooks for environments that are not tightly tied to the
+Linux bridging tools; they are more efficient and better reflect the
+actual operation and status.
 
 Installation Procedure
 ----------------------
@@ -16,45 +17,34 @@ The procedure below explains how to use the Open vSwitch bridge
 compatibility support.  This procedure is written from the perspective
 of a system administrator manually loading and starting Open vSwitch
 in bridge compatibility mode, but of course in practice one would want
-to update system scripts to follow these steps.
+to update system scripts to follow these steps.  If you do edit your
+system configuration files to start Open vSwitch at boot time, make
+sure that it starts up before any bridge configuration (e.g. before
+any calls to "brctl" or "ifup" of any bridge interfaces), to ensure
+that the Open vSwitch kernel modules are loaded before the Linux
+kernel bridge module.
 
-1. Build and install the Open vSwitch kernel modules and userspace
-   programs as described in INSTALL.Linux.
+1. Build, install, and start up the Open vSwitch kernel modules and
+   userspace programs as described in INSTALL.Linux.
 
    It is important to run "make install", because some Open vSwitch
    programs expect to find files in locations selected at installation
-   time.
+   time.  The instructions below assume that files are installed in
+   their default locations, under /usr/local.
 
-2. Load both the openvswitch and brcompat kernel modules (which were
-   built in step 1), e.g.:
+2. Load the brcompat kernel module (which was built in step 1), e.g.:
 
-      % insmod datapath/linux-2.6/openvswitch_mod.ko
-      % insmod datapath/linux-2.6/brcompat_mod.ko
+      % insmod datapath/linux/brcompat_mod.ko
 
-   These kernel modules cannot be loaded if the Linux bridge module is
-   already loaded.  Thus, you may need to remove any existing bridges
-   and unload the bridge module with "rmmod bridge" before you can do
-   this.  In addition, if you edit your system configuration files to
-   load these modules at boot time, it should happen before any bridge
-   configuration (e.g. before any calls to "brctl" or "ifup" of any
-   bridge interfaces), to ensure that the Open vSwitch kernel modules
-   are loaded before the Linux kernel bridge module.
+   (openvswitch_mod.ko should already have been loaded.)
 
-3. Create an initial ovs-vswitchd.conf file.  This file may be empty
-   when ovs-vswitchd, or you may add any valid configuration
-   directives to it (as described in ovs-vswitchd.conf(5)), but it
-   must exist.
+3. Start ovs-brcompatd:
 
-   To create an empty configuration file:
+      % ovs-brcompatd --pidfile --detach
 
-      % touch /etc/ovs-vswitchd.conf
+   (ovsdb-server and ovs-vswitchd should already have been loaded.)
 
-4. Start ovs-vswitchd and ovs-brcompatd, e.g.:
-
-      % ovs-vswitchd -P -D -vANY:console:EMER /etc/ovs-vswitchd.conf
-      % ovs-brcompatd -P -D -vANY:console:EMER /etc/ovs-vswitchd.conf
-
-5. Now you should be able to manage the Open vSwitch using brctl and
+4. Now you should be able to manage the Open vSwitch using brctl and
    related tools.  For example, you can create an Open vSwitch bridge,
    add interfaces to it, then print information about bridges with the
    commands:
@@ -65,11 +55,7 @@ to update system scripts to follow these steps.
       % brctl show
 
    Each of these commands actually uses or modifies the Open vSwitch
-   configuration file, then notifies the ovs-vswitchd daemon of the
-   change.  For example, after executing the commands above starting
-   from an empty configuration file, "cat /etc/ovs-vswitchd.conf"
-   should show that the configuration file now contains the following:
-
-      bridge.br0.port=br0
-      bridge.br0.port=eth0
-      bridge.br0.port=eth1
+   configuration database, then notifies the ovs-vswitchd daemon of
+   the change.  For example, after executing the commands above
+   starting from an empty configuration file, "ovs-vsctl list-ports
+   br0" should show that bridge br0 contains two ports, eth0 and eth1.