http://openvswitch.org/mlists/
+### Q: Why can I no longer connect to my OpenFlow controller or OVSDB
+manager?
+
+A: Starting in OVS 2.4, we switched the default ports to the
+ IANA-specified port numbers for OpenFlow (6633->6653) and OVSDB
+ (6632->6640). We recommend using these port numbers, but if you
+ cannot, all the programs allow overriding the default port. See the
+ appropriate man page.
+
Releases
--------
|:--------:|:-------------:
| GRE | 3.11
| VXLAN | 3.12
+| Geneve | 3.18
| LISP | <not upstream>
If you are using a version of the kernel that is older than the one
persist after doing this, check to make sure that the module that is
loaded is the one you expect.
+### Q: Why are UDP tunnel checksums not computed for VXLAN or Geneve?
+
+A: Generating outer UDP checksums requires kernel support that was not
+ part of the initial implementation of these protocols. If using the
+ upstream Linux Open vSwitch module, you must use kernel 4.0 or
+ newer. The out-of-tree modules from Open vSwitch release 2.4 and later
+ support UDP checksums.
+
### Q: What features are not available when using the userspace datapath?
A: Tunnel virtual ports are not supported, as described in the
### Q: What Linux kernel versions does IPFIX flow monitoring work with?
-A: IPFIX flow monitoring requires the Linux kernel module from Open
- vSwitch version 1.10.90 or later.
+A: IPFIX flow monitoring requires the Linux kernel module from Linux
+ 3.10 or later, or the out-of-tree module from Open vSwitch version
+ 1.10.90 or later.
### Q: Should userspace or kernel be upgraded first to minimize downtime?
takes seconds, not minutes or hours, in the OVS sandbox environment.
+### Q: I created a bridge named br0. My bridge shows up in "ovs-vsctl
+ show", but "ovs-ofctl show br0" just prints "br0 is not a bridge
+ or a socket".
+
+A: Open vSwitch wasn't able to create the bridge. Check the
+ ovs-vswitchd log for details (Debian and Red Hat packaging for Open
+ vSwitch put it in /var/log/openvswitch/ovs-vswitchd.log).
+
+ In general, the Open vSwitch database reflects the desired
+ configuration state. ovs-vswitchd monitors the database and, when
+ it changes, reconfigures the system to reflect the new desired
+ state. This normally happens very quickly. Thus, a discrepancy
+ between the database and the actual state indicates that
+ ovs-vswitchd could not implement the configuration, and so one
+ should check the log to find out why. (Another possible cause is
+ that ovs-vswitchd is not running. This will make "ovs-vsctl"
+ commands hang, if they change the configuration, unless one
+ specifies "--no-wait".)
+
+### Q: I have a bridge br0. I added a new port vif1.0, and it shows
+ up in "ovs-vsctl show", but "ovs-vsctl list port" says that it has
+ OpenFlow port ("ofport") -1, and "ovs-ofctl show br0" doesn't show
+ vif1.0 at all.
+
+A: Open vSwitch wasn't able to create the port. Check the
+ ovs-vswitchd log for details (Debian and Red Hat packaging for Open
+ vSwitch put it in /var/log/openvswitch/ovs-vswitchd.log). Please
+ see the previous question for more information.
+
+ You may want to upgrade to Open vSwitch 2.3 (or later), in which
+ ovs-vsctl will immediately report when there is an issue creating a
+ port.
+
+
Quality of Service (QoS)
------------------------
tags, like this:
ovs-vsctl add-br br0
- ovs-vsctl set-controller br0 tcp:192.168.0.10:6633
+ ovs-vsctl set-controller br0 tcp:192.168.0.10:6653
ovs-vsctl add-port br0 eth0
ovs-vsctl add-port br0 tap0 tag=9
ovs-vsctl add-port br0 tap1 tag=10
A: Add new members for your field to "struct flow" in lib/flow.h, and
add new enumerations for your new field to "enum mf_field_id" in
- lib/meta-flow.h, following the existing pattern. Then recompile
- and fix all of the new warnings, implementing new functionality for
- the new field or header as needed. (If you configure with
- --enable-Werror, as described in [INSTALL.md], then it is
- impossible to miss any warnings.)
+ lib/meta-flow.h, following the existing pattern. Also, add support
+ to miniflow_extract() in lib/flow.c for extracting your new field
+ from a packet into struct miniflow. Then recompile and fix all of
+ the new warnings, implementing new functionality for the new field
+ or header as needed. (If you configure with --enable-Werror, as
+ described in [INSTALL.md], then it is impossible to miss any
+ warnings.)
+
+ If you want kernel datapath support for your new field, you also
+ need to modify the kernel module for the operating systems you are
+ interested in. This isn't mandatory, since fields understood only
+ by userspace work too (with a performance penalty), so it's
+ reasonable to start development without it. If you implement
+ kernel module support for Linux, then the Linux kernel "netdev"
+ mailing list is the place to submit that support first; please read
+ up on the Linux kernel development process separately. The Windows
+ datapath kernel module support, on the other hand, is maintained
+ within the OVS tree, so patches for that can go directly to
+ ovs-dev.
### Q: How do I add support for a new OpenFlow action?