Open vSwitch 2.10 introduces meters support to the kernel datapath. In upstream Linux, the feature is only available since 4.15 This is mainly for make the newly introduced meter features in linux kernel datapath more easily available root@OpenWrt:/# ovs-ofctl -OOpenFlow13 meter-features br0 OFPST_METER_FEATURES reply (OF1.3) (xid=0x2): max_meter:4294967295 max_bands:1 max_color:0 band_types: drop capabilities: kbps pktps burst stats root@OpenWrt:/# Size comparison between in-tree and upstreamed modules are attached 2800 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-geneve-intree/lib/modules/4.14.67/vport-geneve.ko 2736 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-geneve/lib/modules/4.14.67/vport-geneve.ko 2596 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-gre-intree/lib/modules/4.14.67/vport-gre.ko 2536 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-gre/lib/modules/4.14.67/vport-gre.ko 288320 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-intree/lib/modules/4.14.67/openvswitch.ko 118984 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch/lib/modules/4.14.67/openvswitch.ko 2792 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-lisp-intree/lib/modules/4.14.67/vport-lisp.ko 2788 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-stt-intree/lib/modules/4.14.67/vport-stt.ko 3668 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-vxlan-intree/lib/modules/4.14.67/vport-vxlan.ko 3400 Sep 5 08:47 ipkg-mips_24kc/kmod-openvswitch-vxlan/lib/modules/4.14.67/vport-vxlan.ko Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
62 lines
2.2 KiB
Markdown
62 lines
2.2 KiB
Markdown
# 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-north` for ovs-northd, ovsdb-server, ovn helper utitlies
|
|
- Install `openvswitch-ovn-host` for ovn-controller and `openvswitch`
|
|
|
|
# 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
|
|
|
|
# Open vSwitch in-tree Linux datapath modules
|
|
|
|
The Open vSwitch build system uses regexp and conditional-compilation
|
|
heuristics to support building the shipped kernel module source code against a
|
|
wide range of kernels, as of openvswitch-2.10, the list is supposed to include
|
|
vanilla linux 3.10 to 4.15, plus a few distro kernels.
|
|
|
|
It may NOT work
|
|
|
|
- Sometimes the code does not compile
|
|
- Sometimes the code compiles but insmod will fail
|
|
- Sometimes modules are loaded okay but actually does not function right
|
|
|
|
For these reasons, the in-tree datapath modules are NOT visible/enabled by
|
|
default.
|
|
|
|
Building and using in-tree datapath modules requires some level of devel
|
|
abilities to proceed. You are expected to configure build options and build
|
|
the code on your own
|
|
|
|
E.g. pair openvswitch userspace with in-tree datapath module
|
|
|
|
CONFIG_DEVEL=y
|
|
CONFIG_PACKAGE_openvswitch=y
|
|
# CONFIG_PACKAGE_kmod-openvswitch is not set
|
|
CONFIG_PACKAGE_kmod-openvswitch-intree=y
|
|
|
|
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
|