TEAMDCTL(8)
π TEAMDCTL β the team daemon control tool π
okay bestie, so this is teamdctl from the teamd control section of the manual (section 8, system admin tools, iykyk). it's the little remote control for your team daemon and honestly? iconic.
β¨ NAME β¨
teamdctl β team daemon control tool. that's it, that's the whole name, no notes π
πΈ SYNOPSIS πΈ
teamdctl [options] team_device command [command_args...]
teamdctl -h
so basically you hand it a team_device, a command, maybe some command_args, and she goes and does the thing. or you just do -h and she tells you about herself, main character energy.
π¦ DESCRIPTION π¦
okay so teamdctl is the tool that lets you, a real human, talk to a running teamd instance. like sliding into its DMs but for network teaming. π«Ά
by default it uses Unix Domain Sockets, but β and this is the slay part β it will fall back to using the D-Bus API so that operation stays reliable in literally all environments. versatile queen. π
π OPTIONS π
-h,--helpβ prints the help text to your console and then dips. exit stage left. β¨-v,--verbosityβ turns up the output verbosity. more words, more lore. π₯-o,--onelineβ forces the output onto one line if it possibly can. compact, cute, condensed. π-D,--force-dbusβ forces it to use the D-Bus interface. no fallback, no negotiation, just D-Bus. π-Z address,--force-zmq addressβ forces it to use the ZMQ interface. possible address formats include"tcp://ip:port","ipc://path"and others. a detailed description of the ZMQ library lives athttp://zguide.zeromq.org/page:all. β-U,--force-usockβ forces it to use the UNIX domain socket interface. fun fact: this is the default behaviour anyway, so it's giving "confirming what you already knew". π
π COMMAND π
this is the menu, bestie. pick your fighter.
config dumpβ dumps the teamd JSON config. π¦config dump noportsβ dumps the teamd JSON configuration without the"ports"section included. no ports, no problems. πconfig dump actualβ dumps the teamd actual JSON configuration. this one includes the ports that are currently present, so it's the real-time vibe check. β¨state dump | stateβ dumps the teamd JSON state document. two ways to say the same thing, we love options. πstate viewβ prints out the state of teamd, parsed from the JSON state document. pretty version, we ate. πstate item get state_item_pathβ finds a state item inside the JSON state document and returns its value.
ifPORTIFNAMEinside state_item_path has any sensitive character, use double quotation marks to escape it, like:ports."eth1.1".link_watches.up. and processing the state_item_path of'state item set'works exactly the same as here. π
state item set state_item_path valueβ finds a state item inside the JSON state document and sets its value to the value parameter. this is available only for a limited number of paths:setup.debug_levelβ you can set the debug level here. higher level is more verbose. π’ports.PORTIFNAME.runner.aggregator.selectedβ available for the lacp runner. you can manually select the aggregator. π₯runner.active_portβ available for the activebackup runner. you can manually select the active port. π
port add portdevβ takes a port device name as its argument. adds that port device into the team. welcome to the group chat. π«Άport remove portdevβ takes a port device name as its argument. removes that port device from the team. it's not you it's the config. πport present portdevβ takes a port device name as its argument. checks whether the port device is present in the team. vibe check, basically. πport config update portdev portconfig-stringβ takes the port device name as the first argument and a JSON-format configuration string as the second argument. updates the port device configuration. β¨port config dump portdevβ takes the port device name as the first argument. dumps the port device JSON configuration to standard output. π
π SEE ALSO π
go read those too, they're the extended universe. β
πΈ AUTHOR πΈ
Jiri Pirko is the original author and current maintainer of libteam. king behaviour, no cap. π
and that's the whole page, bestie! this one is from libteam, dated 2013-05-24 β vintage but still serving πβ¨π
π¦ where this page comes from
- alpine 3.24: libteam-doc 1.31-r8 Β· LGPL-2.1-or-later
- arch rolling: libteam 1.32-3 Β· LGPL-2.1-or-later
- centos-stream 9: teamd 1.31-16.el9 Β· LGPLv2+
- centos-stream 9: teamd 1.31-16.el9 Β· LGPLv2+
- debian bookworm: libteam-utils 1.31-1 Β· LGPL-2.1-or-later
- debian trixie: libteam-utils 1.31-1+b2 Β· LGPL-2.1-or-later
- fedora 43: teamd 1.32-12.fc43 Β· LGPL-2.0-or-later
- fedora 43: teamd 1.32-12.fc43 Β· LGPL-2.0-or-later
- fedora 44: teamd 1.32-13.fc44 Β· LGPL-2.0-or-later
- fedora 44: teamd 1.32-13.fc44 Β· LGPL-2.0-or-later
- opensuse-leap 16.0: libteam-tools 1.32-bp160.1.12 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: libteam-tools 1.32-bp160.1.12 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: libteam-tools 1.32-bp160.1.12 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: libteam-tools 1.32-bp160.1.12 Β· LGPL-2.1-or-later
- ubuntu jammy: libteam-utils 1.31-1build2 Β· LGPL-2.1-or-later
- ubuntu noble: libteam-utils 1.31-1build3 Β· LGPL-2.1-or-later
- ubuntu questing: libteam-utils 1.31-1build3
- ubuntu resolute: libteam-utils 1.31-1build4 Β· LGPL-2.1-or-later
- ubuntu stonking: libteam-utils 1.31-1build4 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms