ovs-ctl(8)
π ovs-ctl(8) β the manual page bestie π
okay so this page lives in the ovs-ctl(8) manual, and the star of the show is a little script called ovs-kmod-ctl. let's get into it π
β¨ NAME β¨
ovs-kmod-ctl β OVS startup helper script for loading kernel modules π§
πΈ SYNOPSIS πΈ
ovs-kmod-ctl insert
ovs-kmod-ctl remove
ovs-kmod-ctl help | -h | --help
ovs-kmod-ctl --version
ovs-kmod-ctl version
π¦ DESCRIPTION π¦
so ovs-kmod-ctl is the program in charge of inserting and removing the Open vSwitch kernel modules. that's its whole job. its whole personality, honestly. and here's the thing, bestie β it is not meant to be invoked directly by system administrators. nope. it gets called internally by system startup scripts, like it's backstage and you're not on the list. π the script is used as part of an SELinux transition domain, which is giving very "i have a security clearance and you don't" energy. π
each of ovs-kmod-ctl's commands gets its own lil section below. no cap. β¬οΈ
π The ``insert'' command
the insert command loads the Open vSwitch kernel modules β if needed. and if that fails, and the Linux bridge module is loaded but no bridges exist, then it tries to unload the bridge module and tries loading the Open vSwitch kernel module again. it's giving persistence. it's giving "i will not be defeated by a bridge module." π₯
π The ``remove'' command
the remove command unloads the Open vSwitch kernel module (including the bridge compatibility module, if it's loaded) and any associated vport modules. so it takes the whole friend group with it. bye besties π«Ά
π EXIT STATUS π
ovs-kmod-ctl exits with status 0 on success and nonzero on failure.
and here's the cute part β the definitions of "success" are lowkey generous:
- the
insertcommand is considered to succeed if the kernel modules are already loaded (it's not mad about it, it's just happy they're there). - the
removecommand is considered to succeed if none of the kernel modules are loaded.
no drama either way. iconic behavior. β¨
π ENVIRONMENT π
the following environment variables affect ovs-kmod-ctl:
PATHβovs-kmod-ctldoes not hardcode the location of any of the programs that it runs. instead, it will add thesbindirandbindirthat were specified at configure time toPATH, if they are not already present. very "i know a guy" of it. πOVS_LOGDIROVS_RUNDIROVS_DBDIROVS_SYSCONFDIROVS_PKGDATADIROVS_BINDIROVS_SBINDIR
setting one of these variables in the environment overrides the respective configure option, both for ovs-kmod-ctl itself and for the other Open vSwitch programs that it runs. so like, it's not just doing its own thing β it's passing that energy along to everybody it spawns. main character with influence, fr fr. π
π FILES π
ovs-kmod-ctl uses the following files:
ovs-libβ shell function library used internally byovs-kmod-ctl. it must be installed in the same directory asovs-kmod-ctl. they're attached at the hip. inseparable. it's giving soulmate. π₯Ή
β EXAMPLE β
ovs-kmod-ctl isn't intended to be manually executed. (we said what we said. π) however, the following examples demonstrate loading the kernel modules:
ovs-kmod-ctl insertβ attempts to insert the Open vSwitch kernel modules.ovs-kmod-ctl removeβ attempts to remove the Open vSwitch kernel modules.
π SEE ALSO π
README.rst, ovs-ctl(8)
and that's the whole page, bestie!! π
okay so final vibes: this is the Open vSwitch manual page, and this version of the page is dated February 2018. it's older than some of us and still slaying. periodt. πβ¨π
π¦ where this page comes from
- alpine 3.24: openvswitch-doc 3.7.1-r0 Β· Apache-2.0
- arch rolling: openvswitch 4.0.0-1 Β· Apache-2.0
- debian bookworm: openvswitch-switch 3.1.0-2+deb12u1 Β· Apache-2.0
- debian trixie: openvswitch-switch 3.5.0-1+b1 Β· Apache-2.0
- fedora 43: openvswitch 3.6.0-2.fc43 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- fedora 43: openvswitch 3.6.0-2.fc43 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- fedora 43: openvswitch 3.6.2-1.fc43 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- fedora 43: openvswitch 3.6.2-1.fc43 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- fedora 44: openvswitch 3.6.2-1.fc44 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- fedora 44: openvswitch 3.6.2-1.fc44 Β· Apache-2.0 AND LGPL-2.0-or-later AND SISSL
- nixos 26.05: openvswitch 3.7.1
- nixos 26.05: openvswitch-dpdk 3.7.1
- nixpkgs unstable: openvswitch 4.0.0
- nixpkgs unstable: openvswitch-dpdk 4.0.0
- opensuse-leap 16.0: openvswitch 3.5.4-160000.4.1 Β· Apache-2.0 AND LGPL-2.1-only AND SISSL
- opensuse-leap 16.0: openvswitch 3.5.4-160000.4.1 Β· Apache-2.0 AND LGPL-2.1-only AND SISSL
- opensuse-leap 16.0: openvswitch 3.5.4-160000.4.1 Β· Apache-2.0 AND LGPL-2.1-only AND SISSL
- opensuse-leap 16.0: openvswitch 3.5.4-160000.4.1 Β· Apache-2.0 AND LGPL-2.1-only AND SISSL
- ubuntu jammy: openvswitch-switch 2.17.0-0ubuntu1 Β· Apache-2.0
- ubuntu jammy: openvswitch-switch 2.17.12-0ubuntu0.22.04.1 Β· Apache-2.0
- ubuntu jammy: openvswitch-switch 2.17.9-0ubuntu0.22.04.1
- ubuntu noble: openvswitch-switch 3.3.0-1ubuntu1 Β· Apache-2.0
- ubuntu noble: openvswitch-switch 3.3.0-1ubuntu3.2 Β· Apache-2.0
- ubuntu noble: openvswitch-switch 3.3.9-0ubuntu0.24.04.1 Β· Apache-2.0
- ubuntu questing: openvswitch-switch 3.6.0-2
- ubuntu questing: openvswitch-switch 3.6.0-2ubuntu0.1
- ubuntu resolute: openvswitch-switch 3.7.1-2 Β· Apache-2.0
- ubuntu stonking: openvswitch-switch 4.0.0-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms