DCB(8)
๐ dcb(8) โ the Linux Data Center Bridging bestie ๐
okay so literally welcome to dcb(8), part of the Linux man pages, and she's the one who shows and manipulates your DCB (Data Center Bridging) settings. no cap, this is the group chat for your NIC's traffic-class drama. ๐
โจ NAME โจ
dcb โ show / manipulate DCB (Data Center Bridging) settings
๐ธ SYNOPSIS ๐ธ
dcb [ OPTIONS ] { app | buffer | ets | maxrate | pfc } { COMMAND | help }
dcb [ -force ] -batch filename
dcb [ OPTIONS ] help
๐ OPTIONS ๐
-n,--netns<NETNS> โ teleportsdcbinto the network namespace NETNS you picked. it's giving portal energy ๐-V,--Versionโ prints the version of thedcbutility and dips. bye bestie ๐-b,--batch<FILENAME> โ reads commands from the file you gave it (or from standard input) and runs them. and listen: the first failure will cause termination ofdcb. she does not play ๐-f,--forceโ do not terminatedcbon errors while in batch mode. but heads up: if there were any errors during execution of the commands, the application return code will be non zero. she'll keep going but she will be petty about the exit code โจ-i,--iecโ when showing rates, use ISO/IEC 1024-based prefixes (Ki,Mi,Bi) instead of the 1000-based ones (K,M,B). pick your math, queen ๐งฎ-j,--jsonโ generate JSON output. machine-readable slay ๐ค-N,--Numericโ if the subtool in question translates numbers to symbolic names in some way, suppress this translation. just give me the raw digits fr fr ๐ข-p,--prettyโ when combined with-j, generate a pretty JSON output. aesthetics matter ๐-s,--statisticsโ if the object in question contains any statistical counters, show them as part of the"show"output. receipts, basically ๐งพ
๐ฆ OBJECTS ๐ฆ
appโ configuration of application priority tablebufferโ configuration of port buffersetsโ configuration of ETS (Enhanced Transmission Selection)maxrateโ configuration of per-TC maximum transmit ratepfcโ configuration of PFC (Priority-based Flow Control)
๐ COMMANDS ๐
a COMMAND specifies the action to perform on the object. the set of possible actions depends on the object type. as a rule, it is possible to show objects and to invoke topical help, which prints a list of available commands and argument syntax conventions. so when in doubt, ask her for help โ she loves being asked ๐ซถ
๐ ARRAY PARAMETERS ๐
like commands, specification of parameters is in the domain of individual objects (and their commands) as well. however, much of the DCB interface revolves around arrays of fixed size that specify one value per some key, such as per traffic class or per priority. so there's therefore a single syntax for adjusting elements of these arrays. it consists of a series of KEY:VALUE pairs, where the meaning of the individual keys and values depends on the parameter.
the elements are evaluated in order from left to right, and the latter ones override the earlier ones. the elements that are not specified on the command line are queried from the kernel and their current value is retained. so yeah, last one wins, that's the vibe ๐
as an example, take a made-up parameter tc-juju, which can be set to charm traffic in a given TC with either good luck or bad luck. KEY can therefore be 0..7 (as is usual for TC numbers in DCB), and VALUE either of none, good, and bad. an example of changing a juju value of TCs 0 and 7, while leaving all other intact, would then be:
# dcb foo set dev eth0 tc-juju 0:good 7:bad
a special key, all, is recognized which sets the same value to all array elements. this can be combined with the usual single-element syntax. e.g. in the following, the juju of all keys is set to none, except 0 and 7, which have other values:
# dcb foo set dev eth0 tc-juju all:none 0:good 7:bad
โญ EXIT STATUS โญ
exit status is 0 if command was successful or a positive integer upon failure. success is 0, chaos is anything above it ๐
๐ฅ SEE ALSO ๐ฅ
dcb-app(8), dcb-apptrust(8), dcb-buffer(8), dcb-dcbx(8), dcb-ets(8), dcb-maxrate(8), dcb-pfc(8), dcb-rewr(8)
the whole squad, honestly. go read them too ๐ซถ
๐ REPORTING BUGS ๐
report any bugs to the Network Developers mailing list <netdev@vger.kernel.org> where the development and maintenance is primarily done. you do not have to be subscribed to the list to send a message there. so like, don't be shy, just send it ๐จ
๐ AUTHOR ๐
Petr Machata <me@pmachata.org>
and that's the whole page bestie!! โจ this one's from iproute2, dated 19 October 2020 โ so go configure your buffers, drink some water, and remember: array params evaluate left to right and the last one wins. periodt. ๐ ๐๐
๐ฆ where this page comes from
- alpine 3.24: iproute2-doc 7.0.0-r0 ยท GPL-2.0-or-later
- arch rolling: iproute2 7.2.0-1
- arch rolling: iproute2 7.3.0-1 ยท GPL-2.0-or-later
- centos-stream 10: iproute 7.0.0-2.el10 ยท GPL-2.0-or-later AND NIST-PD
- nixos 26.05: iproute2 7.0.0
- nixpkgs unstable: iproute2 7.2.0
- ubuntu stonking: iproute2 7.2.0-1ubuntu1 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms