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 insert command 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 remove command 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-ctl does not hardcode the location of any of the programs that it runs. instead, it will add the sbindir and bindir that were specified at configure time to PATH, if they are not already present. very "i know a guy" of it. πŸ’…
  • OVS_LOGDIR
  • OVS_RUNDIR
  • OVS_DBDIR
  • OVS_SYSCONFDIR
  • OVS_PKGDATADIR
  • OVS_BINDIR
  • OVS_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 by ovs-kmod-ctl. it must be installed in the same directory as ovs-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