netlink-socket: Allow compiling on MSVC even without HAVE_NETLINK.
[cascardo/ovs.git] / FAQ
diff --git a/FAQ b/FAQ
index 5434090..3470983 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -190,6 +190,27 @@ A: The kernel module in upstream Linux does not include support for
    Linux release or using the kernel module paired with the userspace
    distribution.
 
+Q: Why do tunnels not work when using a kernel module other than the
+   one packaged with Open vSwitch?
+
+A: Support for tunnels was added to the upstream Linux kernel module
+   after the rest of Open vSwitch. As a result, some kernels may contain
+   support for Open vSwitch but not tunnels. The minimum kernel version
+   that supports each tunnel protocol is:
+
+   Protocol    Linux Kernel
+   --------    ------------
+     GRE           3.11
+     VXLAN         3.12
+     LISP      <not upstream>
+
+   If you are using a version of the kernel that is older than the one
+   listed above, it is still possible to use that tunnel protocol. However,
+   you must compile and install the kernel module included with the Open
+   vSwitch distribution rather than the one on your machine. If problems
+   persist after doing this, check to make sure that the module that is
+   loaded is the one you expect.
+
 Q: What features are not available when using the userspace datapath?
 
 A: Tunnel virtual ports are not supported, as described in the
@@ -499,6 +520,10 @@ A: Open vSwitch has two kinds of flows (see the previous question), so
         dumps datapath flows for only the specified bridge, regardless
         of the type.
 
+Q: How does multicast snooping works with VLANs?
+
+A: Open vSwitch maintains snooping tables for each VLAN.
+
 
 Performance
 -----------
@@ -1103,6 +1128,12 @@ A: Do you have a controller configured on br0 (as the commands above
    OpenFlow controller doesn't see the VLANs that I expect," and you
    can refer to the answer there for more information.
 
+Q: How MAC learning works with VLANs?
+
+A: Open vSwitch implements Independent VLAN Learning (IVL) for
+   OFPP_NORMAL action.  I.e. it logically has separate learning tables
+   for each VLANs.
+
 
 VXLANs
 -----
@@ -1147,15 +1178,15 @@ Q: What versions of OpenFlow does Open vSwitch support?
 A: The following table lists the versions of OpenFlow supported by
    each version of Open vSwitch:
 
-       Open vSwitch      OF1.0  OF1.1  OF1.2  OF1.3  OF1.4
-       ===============   =====  =====  =====  =====  =====
-       1.9 and earlier    yes    ---    ---    ---    ---
-       1.10               yes    ---    [*]    [*]    ---
-       1.11               yes    ---    [*]    [*]    ---
-       2.0                yes    [*]    [*]    [*]    ---
-       2.1                yes    [*]    [*]    [*]    ---
-       2.2                yes    [*]    [*]    [*]    [%]
-       2.3                yes    yes    yes    yes    [*]
+       Open vSwitch      OF1.0  OF1.1  OF1.2  OF1.3  OF1.4  OF1.5
+       ===============   =====  =====  =====  =====  =====  =====
+       1.9 and earlier    yes    ---    ---    ---    ---    ---
+       1.10               yes    ---    [*]    [*]    ---    ---
+       1.11               yes    ---    [*]    [*]    ---    ---
+       2.0                yes    [*]    [*]    [*]    ---    ---
+       2.1                yes    [*]    [*]    [*]    ---    ---
+       2.2                yes    [*]    [*]    [*]    [%]    [*]
+       2.3                yes    yes    yes    yes    [*]    [*]
 
        [*] Supported, with one or more missing features.
        [%] Experimental, unsafe implementation.
@@ -1163,17 +1194,17 @@ A: The following table lists the versions of OpenFlow supported by
    Open vSwitch 2.3 enables OpenFlow 1.0, 1.1, 1.2, and 1.3 by default
    in ovs-vswitchd.  In Open vSwitch 1.10 through 2.2, OpenFlow 1.1,
    1.2, and 1.3 must be enabled manually in ovs-vswitchd.  OpenFlow
-   1.4 is also supported, with missing features, in Open vSwitch 2.3
-   and later, but not enabled by default.  In any case, the user may
-   override the default:
+   1.4 and 1.5 are also supported, with missing features, in Open
+   vSwitch 2.3 and later, but not enabled by default.  In any case,
+   the user may override the default:
 
        - To enable OpenFlow 1.0, 1.1, 1.2, and 1.3 on bridge br0:
 
          ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13
 
-       - To enable OpenFlow 1.0, 1.1, 1.2, 1.3, and 1.4 on bridge br0:
+       - To enable OpenFlow 1.0, 1.1, 1.2, 1.3, 1.4, and 1.5 on bridge br0:
 
-         ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14
+         ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15
 
        - To enable only OpenFlow 1.0 on bridge br0:
 
@@ -1189,9 +1220,10 @@ A: The following table lists the versions of OpenFlow supported by
    1.4 that could cause crashes.  We don't recommend enabling it.)
 
    OPENFLOW-1.1+ in the Open vSwitch source tree tracks support for
-   OpenFlow 1.1 and later features.  When support for OpenFlow 1.4 is
-   solidly implemented, Open vSwitch will enable that version by
-   default.
+   OpenFlow 1.1 and later features.  When support for OpenFlow 1.4 and
+   1.5 is solidly implemented, Open vSwitch will enable those version
+   by default.  Also, the OpenFlow 1.5 specification is still under
+   development and thus subject to change.
 
 Q: Does Open vSwitch support MPLS?
 
@@ -1557,6 +1589,17 @@ A: These flows drop the ARP packets that IP hosts use to establish IP
       priority=5,in_port=1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00,actions=2
       priority=5,in_port=2,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00,actions=1
 
+Q: My bridge disconnects from my controller on add-port/del-port.
+
+A: Reconfiguring your bridge can change your bridge's datapath-id because
+   Open vSwitch generates datapath-id from the MAC address of one of its ports.
+   In that case, Open vSwitch disconnects from controllers because there's
+   no graceful way to notify controllers about the change of datapath-id.
+
+   To avoid the behaviour, you can configure datapath-id manually.
+
+      ovs-vsctl set bridge br0 other-config:datapath-id=0123456789abcdef
+
 
 Development
 -----------