The 2.17 LTS branch reached end of life in February 2025. Update to 3.7.1 from the current 3.7 LTS branch. Patches: - 0007: refreshed, libbpf linking was removed upstream - 0008: dropped, included upstream The version bump checklist no longer needs to check the kernel versions supported by the datapath module, as the Open vSwitch source tree does not contain one anymore. Note instead that net/ovn has to be updated along with it. Signed-off-by: Sander van Deijck <sander@vandeijck.com> |
||
|---|---|---|
| .. | ||
| files | ||
| patches | ||
| Config.in | ||
| Makefile | ||
| README.md | ||
| openvswitch.mk | ||
README.md
Which packages to install
Install openvswitch if you need OpenFlow virtual switch function. It
contains ovs-vswitchd, ovsdb-server and helper utilities such as ovs-vsctl,
ovs-ofctl, ovs-ctl etc.
Linux kernel datapath module openvswitch.ko will also be installed along with
package openvswitch. Tunnel encap support for gre, geneve, vxlan can be
included by installing kmod-openvswitch-{gre,geneve,vxlan} respectively
For OVN deployment
- Install
openvswitch-ovn-northfor ovs-northd, ovsdb-server, ovn helper utitlies - Install
openvswitch-ovn-hostfor ovn-controller andopenvswitch
How to use them
Open vSwitch provides a few very useful helper script in
/usr/share/openvswitch/scripts/. A simple initscript is provided. It's
mainly a wrapper around ovs-ctl and ovn-ctl with simple knobs from
/etc/config/openvswitch. Procd is not used here.
/etc/init.d/openvswitch start
/etc/init.d/openvswitch stop
/etc/init.d/openvswitch stop north
/etc/init.d/openvswitch restart ovs
/etc/init.d/openvswitch status
Use ovs-ctl and ovn-ctl directly for more functionalities
UCI configuration options
There are 5 config section types in package openvswitch: ovs ovn_northd, ovn_controller & ovs_bridge.
Each of these supports a disabled option, which should be set to 0 to launch the respective daemons.
The ovs section section also supports the options below, to configure a set of SSL CA, certificate and private key. After adding these to Open vSwitch, you may specify ssl: connection methods for e.g. the OpenFlow controller. Note that Open vSwitch only reads these files during startup, so it needs to be restarted after adding or changing these options.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| disabled | boolean | no | 0 | If set to 1, do not configure SSL |
| ca | string | no | (none) | Path to CA certificate |
| cert | string | no | (none) | Path to certificate |
| key | string | no | (none) | Path to private key |
The ovs_bridge section also supports the options below, for initialising a virtual bridge with an OpenFlow controller.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| disabled | boolean | no | 0 | If set to true, disable initialisation of the named bridge |
| name | string | no | Inherits UCI config block name | The name of the switch in the OVS daemon |
| controller | string | no | (none) | The endpoint of an OpenFlow controller for this bridge |
| datapath_id | string | no | (none) | The OpenFlow datapath ID for this bridge |
| datapath_desc | string | no | (none) | The OpenFlow datapath description for this bridge |
| drop_unknown_ports | boolean | no | 0 | Remove ports not defined in UCI from the bridge |
| fail_mode | string | no | standalone | The bridge failure mode |
| ports | list | no | (none) | List of ports to add to the bridge |
The ovs_port section can be used to add ports to a bridge. It supports the options below.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| disabled | boolean | no | 0 | If set to 1, do not add the port to the bridge |
| bridge | string | yes | (none) | Name of the bridge to add the port to |
| port | string | yes | (none) | Name of the port to add to the bridge |
| ofport | integer | no | (none) | OpenFlow port number to be used by the port |
| tag | integer | no | (none) | 802.1Q VLAN tag to set on the port |
| type | string | no | (none) | Port type, e.g. internal, erspan, type, ... |