Add more files to the openvswitch library on 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.
 
    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
 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.
 
         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
 -----------
 
 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.
 
    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
 -----
 
 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:
 
 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.
 
        [*] 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,
 
    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
 
    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
        - 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
 
 
        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+ 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?
 
 
 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
 
       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
 -----------
 
 Development
 -----------