netlink-socket: Adapt to Windows and MSVC.
[cascardo/ovs.git] / FAQ
diff --git a/FAQ b/FAQ
index d3632f9..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,29 +1178,34 @@ 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.
-       [%] Support is unsafe: ovs-vswitchd will abort when certain
-           unimplemented features are tested.
+       [%] Experimental, unsafe implementation.
 
    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.  Either way,
+   1.2, and 1.3 must be enabled manually in ovs-vswitchd.  OpenFlow
+   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, 1.4, and 1.5 on bridge br0:
+
+         ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15
+
        - To enable only OpenFlow 1.0 on bridge br0:
 
          ovs-vsctl set bridge br0 protocols=OpenFlow10
@@ -1180,17 +1216,14 @@ A: The following table lists the versions of OpenFlow supported by
 
        ovs-ofctl -O OpenFlow13 dump-flows br0
 
-   OpenFlow 1.4 is a special case, because it is not implemented
-   safely: ovs-vswitchd will abort when certain unimplemented features
-   are tested.  Thus, for now it is suitable only for experimental
-   use.  ovs-vswitchd will only allow OpenFlow 1.4 to be enabled
-   (which must be done in the same way described above) when it is
-   invoked with a special --enable-of14 command line option.
+   (Open vSwitch 2.2 had an experimental implementation of OpenFlow
+   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?
 
@@ -1556,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
 -----------