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 from dcbtool β€” in that case you use lldptool instead. periodt.

πŸŽ€ OPTIONS πŸŽ€

  • -h β€” shows the dcbtool usage message (a lil help, as a treat)
  • -v β€” shows dcbtool version information
  • -r β€” displays the raw lldpad client interface messages AND the readable output. both. at once. she's doing both πŸ’…
  • -R β€” displays only the raw lldpad client interface messages

πŸ‘‘ COMMANDS πŸ‘‘

  • help β€” shows the dcbtool usage message
  • ping β€” test command. lldpad responds with "PPONG" if the client interface is operational πŸ“
  • license β€” displays dcbtool license information
  • quit β€” 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 by lldpad. the configured version, if it's different from the operational version, will take effect after lldpad is restarted.
  • sc dcbx v:[cin|cee|force-cin|force-cee] β€” set the legacy version of DCBX that will be supported by lldpad the 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 port
  • pg β€” priority groups
  • pfc β€” priority flow control
  • app:<subtype> β€” application specific data
  • ll:<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 enable
  • a:<0|1> β€” controls whether the feature is advertised via DCBX to the peer
  • w:<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. the go and gp commands are not needed for the dcb feature. also, the enable(e), advertise(a) and willing(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), x is 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), x is 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), x is 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), x is 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), x is 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), x is 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 β€” xx is 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 🫢


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 πŸ’…πŸ’–βœ¨