Browse Source

openvswitch: adds new UCI section ovs_bridge

This new config section in package openvswitch
supports creating a named bridge, and setting
its' OpenFlow controller end-point.

An example config is included in /rom/etc/config/openvswitch

Signed-off-by: Simon Kinane <skinane@fb.com>
lilik-openwrt-22.03
Simon Kinane 4 years ago
committed by Yousong Zhou
parent
commit
d7507146e8
4 changed files with 44 additions and 2 deletions
  1. +1
    -1
      net/openvswitch/Makefile
  2. +17
    -0
      net/openvswitch/README.md
  3. +5
    -0
      net/openvswitch/files/openvswitch.config
  4. +21
    -1
      net/openvswitch/files/openvswitch.init

+ 1
- 1
net/openvswitch/Makefile View File

@ -17,7 +17,7 @@ include ./openvswitch.mk
#
PKG_NAME:=openvswitch
PKG_VERSION:=$(ovs_version)
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.openvswitch.org/releases/
PKG_HASH:=dd5f727427e36cab22bdeae61529d8c8fccacc53d968cfa7658f7f935ddda531


+ 17
- 0
net/openvswitch/README.md View File

@ -60,3 +60,20 @@ E.g. replace in-tree datapath module with upstream version
opkg remove --force-depends kmod-openvswitch-intree
opkg install kmod-openvswitch
ovs-ctl force-reload-kmod
# UCI configuration options
There are 4 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_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 |

+ 5
- 0
net/openvswitch/files/openvswitch.config View File

@ -6,3 +6,8 @@ config ovn_northd north
config ovn_controller controller
option disabled 1
config ovs_bridge
option disabled 1
option name 'my-bridge'
option controller 'tcp:192.168.0.1'

+ 21
- 1
net/openvswitch/files/openvswitch.init View File

@ -36,6 +36,8 @@ ovs_action() {
for cfgtype in ovs ovn_northd ovn_controller; do
config_foreach "ovs_xx" "$cfgtype" "$action" "$cfgtype"
done
config_foreach ovs_bridge_init "ovs_bridge"
}
ovs_xx() {
@ -51,7 +53,7 @@ ovs_xx() {
status|stop) ;;
*)
config_get_bool disabled "$cfg" disabled 0
[ "$disabled" -le 0 ] || return
[ "$disabled" == "0" ] || return
;;
esac
@ -65,3 +67,21 @@ ovs_xx() {
;;
esac
}
ovs_bridge_init() {
local cfg="$1"
local disabled
local name
local controller
config_get_bool disabled "$cfg" disabled 0
[ "$disabled" == "0" ] || return
config_get name "$cfg" name $cfg
ovs-vsctl --may-exist add-br "$name"
config_get controller "$cfg" controller
[ -n "$controller" ] && \
ovs-vsctl set-controller "$name" "$controller"
}

Loading…
Cancel
Save