dcbtool(8)
π dcbtool β the Data Center Bridging (DCB) glow-up, live from the System Manager's Manual π
okay bestie, sit down, hydrate, and let me tell you about dcbtool from section 8 of the manual β she manages the Data Center Bridging (DCB) settings of a CEE DCB interface and honestly? she's iconic.
β¨ SYNOPSIS β¨
dcbtool -h
dcbtool -v
dcbtool [-rR]
dcbtool [-rR] [command] [command arguments]
πΈ DESCRIPTION πΈ
so dcbtool is the girl who queries and sets the DCB settings of a Converged Enhanced Ethernet (CEE) DCB capable Ethernet interface. she connects to the client interface of lldpad to do all of that, no cap.
and here's the cute part: if you run her with no command at all, she goes into interactive mode π¦. and in interactive mode she also doubles as an event listener β she'll print out events from lldpad as they arrive, like a group chat that updates in real time. she uses libreadline for interactive input when it's available. π
β οΈ real talk though: 802.1Qaz DCBX is NOT controllable fromdcbtoolβ in that case you uselldptoolinstead. periodt.
π OPTIONS π
-hβ shows thedcbtoolusage message (a lil help, as a treat)-vβ showsdcbtoolversion information-rβ displays the rawlldpadclient interface messages AND the readable output. both. at once. she's doing both π-Rβ displays only the rawlldpadclient interface messages
π COMMANDS π
helpβ shows thedcbtoolusage messagepingβ test command.lldpadresponds with"PPONG"if the client interface is operational πlicenseβ displaysdcbtoollicense informationquitβ exit from interactive mode (sad, but valid)
the following commands interact with lldpad to manage the daemon and DCB features on DCB capable interfaces π«Ά
π dcbtool general configuration commands π
<gc|go> dcbxβ get the configured or operational legacy version of the DCBX protocol that will be supported bylldpad. the configured version, if it's different from the operational version, will take effect afterlldpadis restarted.sc dcbx v:[cin|cee|force-cin|force-cee]β set the legacy version of DCBX that will be supported bylldpadthe next time it's started.
info about the CIN version lives here: <http://download.intel.com/technology/eedc/dcb_cep_spec.pdf>
info about the CEE version lives here: <http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf>
the dcbx setting is a global setting and changes only take effect when lldpad is restarted. the default DCBX version used is the IEEE standard version. if a pre-IEEE DCBX version is received (per port) which matches the dcbx setting, then lldpad will fall back to the configured global dcbx setting. and if the dcbx setting is set to either 'force-cin' or 'force-cee' then any port doing DCBX will start out in the corresponding legacy DCBX mode. π¦
π DCB per-interface commands π
gc <ifname> <feature>β get configuration of feature on interface ifname.go <ifname> <feature>β get operational status of feature on interface ifname.gp <ifname> <feature>β get peer configuration of feature on interface ifname.sc <ifname> <feature> <args>β set the configuration of feature on interface ifname.
π§ feature may be one of the following:
dcbβ DCB state of the portpgβ priority groupspfcβ priority flow controlapp:<subtype>β application specific datall:<subtype>β logical link status
π subtype can be:
0|fcoeβ Fiber Channel over Ethernet (FCoE)1|iscsiβ Internet Small Computer System Interface (iSCSI)2|fipβ FCoE Initialization Protocol (FIP)
β args can include:
e:<0|1>β controls feature enablea:<0|1>β controls whether the feature is advertised via DCBX to the peerw:<0|1>β controls whether the feature is willing to change its operational configuration based on what is received from the peer[feature specific args]β arguments specific to a DCB feature
π₯ Feature specific arguments for dcb π₯
on|offβ enable or disable DCB for the interface. thegoandgpcommands are not needed for thedcbfeature. also, theenable(e),advertise(a)andwilling(w)arguments are not required.
πΈ Feature specific arguments for pg πΈ
pgid:xxxxxxxxβ priority group ID for the 8 priorities. from left to right (priorities 0-7),xis the corresponding priority group ID value, which can be 0-7 for priority groups with bandwidth allocations or f (priority group ID 15) for the unrestricted priority group.pgpct:x,x,x,x,x,x,x,xβ priority group percentage of link bandwidth. from left to right (priority groups 0-7),xis the percentage of link bandwidth allocated to the corresponding priority group. the total bandwidth must equal 100%. no rounding your way out of this one πuppct:x,x,x,x,x,x,x,xβ priority percentage of priority group bandwidth. from left to right (priorities 0-7),xis the percentage of priority group bandwidth allocated to the corresponding priority. the sum of percentages for priorities which belong to the same priority group must total 100% (except for priority group 15).strict:xxxxxxxxβ strict priority setting. from left to right (priorities 0-7),xis 0 or 1. 1 indicates that the priority may utilize all of the bandwidth allocated to its priority group.up2tc:xxxxxxxxβ priority to traffic class mapping. from left to right (priorities 0-7),xis the traffic class (0-7) to which the priority is mapped.
π Feature specific arguments for pfc π
pfcup:xxxxxxxxβ enable/disable priority flow control. from left to right (priorities 0-7),xis 0 or 1. 1 indicates that the corresponding priority is configured to transmit priority pause.
π¦ Feature specific arguments for app:<subtype> π¦
the app features uses global enable and willing bits for all subtypes. to remove or add subtypes to the TLV set, use the advertise bit.
appcfg:xxβxxis a hexadecimal value representing an 8 bit bitmap where 1 bits indicate the priorities which frames for the applications specified by subtype should use. the lowest order bit maps to priority 0.
π« Feature specific arguments for ll:<subtype> π«
status:[0|1]β for testing purposes, the logical link status may be set to 0 or 1. changes to the logical link status are not saved in the configuration file.
π EXAMPLES π
Enable DCB on interface eth2 β¨
dcbtool sc eth2 dcb on
Assign priorities 0-3 to priority group 0, priorities 4-6 to priority group 1 and priority 7 to the unrestricted priority. Also, allocate 25% of link bandwidth to priority group 0 and 75% to group 1. π
dcbtool sc eth2 pg pgid:0000111f pgpct:25,75,0,0,0,0,0,0
Enable transmit of Priority Flow Control for priority 3 and assign FCoE to priority 3. π₯
dcbtool sc eth2 pfc pfcup:00010000
dcbtool sc eth2 app:0 appcfg:08
π SEE ALSO π
lldpad(8), lldptool(8), lldptool-dcbx(8), lldptool-ets(8), lldptool-pfc(8), lldptool-app(8)
go read the whole friend group, they're all slaying together π«Ά
π COPYRIGHT π
dcbtool - DCB configuration utility Copyright(c) 2007-2012 Intel Corporation. Portions of dcbtool are based on:
hostapd-0.5.7
Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
βοΈ LICENSE βοΈ
This program is free software; you can redistribute it and/or modify it under the terms and conditions of the GNU General Public License, version 2, as published by the Free Software Foundation.
This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in the file called "COPYING".
π SUPPORT π
Contact Information: open-lldp Mailing List <lldp-devel@open-lldp.org>
and that's the whole page, bestie!! this manual page for dcbtool(8) came to you from the System Manager's Manual, dated March 23, 2012 β a true vintage icon, she was doing DCB before it was cool. mwah π
πβ¨
π¦ where this page comes from
- alpine 3.22: open-lldp-doc 1.1-r2 Β· GPL-2.0-only
- alpine 3.23: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- alpine 3.24: open-lldp-doc 1.1-r3 Β· GPL-2.0-only
- centos-stream 10: lldpad 1.1.1-4.gitf1dd9eb.el10 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- centos-stream 9: lldpad 1.1.1-5.gitf1dd9eb.el9 Β· GPL-2.0-only
- debian bookworm: lldpad 1.1+git20221028.aa18720-1 Β· GPL-2.0-only
- debian trixie: lldpad 1.1.1-1+b1 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 43: lldpad 1.1.0-14.git85e5583.fc43 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- fedora 44: lldpad 1.1.0-16.git85e5583.fc44 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: open-lldp 1.1+110.f16f944-160000.1.1 Β· GPL-2.0-only
- ubuntu jammy: lldpad 1.1-1 Β· GPL-2.0-only
- ubuntu noble: lldpad 1.1+git20221028.aa18720-2 Β· GPL-2.0-only
- ubuntu questing: lldpad 1.1.1-1build1
- ubuntu resolute: lldpad 1.1.1-1build2 Β· GPL-2.0-only
- ubuntu stonking: lldpad 1.1.1-1build2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms