NAME¶
ETS-{CFG|REC} - Show / manipulate ETS TLV configuration
SYNOPSIS¶
lldptool -t -i ethx -V ETS-CFG <-c
CONFIG_ARG
...>
CONFIG_ARG := {
enableTx |
willing |
tsa |
up2tc |
numtcs |
tcbw }
lldptool -T -i ethx -V ETS-CFG CONFIG_ARG=value
...
CONFIG_ARG :=
enableTx =
{yes|no} |
willing =
{yes|no} |
tsa =
tc:{ets|strict|vendor},... |
up2tc =
priority:tc,... |
tcbw =
bw1,bw2,...
lldptool -t -i ethx -V ETS-REC <-c
CONFIG_ARG
...>
lldptool -T -i ethx -V ETS-REC CONFIG_ARG=value
...
CONFIG_ARG :=
enableTx =
{yes|no} |
tsa =
tc:{ets|strict|vendor},... |
up2tc =
priority:tc,... |
tcbw =
bw1,bw2,...
DESCRIPTION¶
The Extended Transmission Selection (ETS) feature has a recommendation TLV and a
configuration TLV configured with ETS-REC and ETS-CFG respectively.
ARGUMENTS¶
- enableTx
- Enables the ETS TLV to be transmitted
- willing
- Sets the ETS-CFG willing bit
- tsa
- Transmission selection algorithm, sets a comma separated
list of traffic classes to the corresponding selection algorithm. Valid
algorithms include "ets", "strict" and
"vendor".
- up2tc
- Comma separated list mapping user priorities to traffic
classes.
- tcbw
- Comma separated list of bandwiths for each traffic class
the first value being assigned to traffic class 0 and the second to
traffic class 1 and so on. Undefined bandwidths are presumed to be 0.
- numtcs
- Sets/Displays the number of ETS supported traffic classes.
Theory of Operations¶
IEEE 802.1Qaz is enabled by default on hardware that supports this mode
indicated by support for the DCBNL interface. Kernel config option CONFIG_DCB.
The ETS-CFG TLV is advertised by default with the attributes indicated by
querying the hardware for its current configuration. A valid configuration is
to map all priorities to a single traffic class and use the link strict
selection algorithm. This is equivalent to being in a non-DCB enabled mode.
To support legacy CEE DCBX the ETS-CFG and ETS-REC TLVs are disabled if a CEE
TLV is received and there are no valid IEEE 802.1Qaz TLVs present. At this
time the hardware DCBX mode will be set to CEE and IEEE mode is disabled. This
allows switches to be configured and end nodes will then be configured
accordingly without any configuration required on the end node.
Mapping applications and protocols to traffic classes is required for ETS to be
useful. User space programs can encode the priority of an application with the
SO_PRIORITY option. Low level drivers that support priority to traffic class
mappings may enable this mode by default. For drivers that do not support this
mode manual configuration can support this mode of operation see
tc-mqprio(8) and
tc-multiq. Additionally, tc qdiscs and filters
can be used to map protocols to queues see
tc(8) for more details along
these lines. Finally, many drivers have support for specific protocols ie
Fiber Channel over Ethernet (FCoE).
EXAMPLE & USAGE¶
- Configure willing bit for interface eth2
- lldptool -T -i eth2 -V ETS-CFG willing=yes
- Configure traffic classes for ETS and strict priority on
eth2
- lldptool -T -i eth2 -V ETS-CFG
tsa=0:ets,1:ets,2:ets,3:ets,4:strict,5:strict
- Configure 1:1 mapping from priority to traffic classes on
eth2
- lldptool -T -i eth2 -V ETS-CFG
up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7
- Display local configured ETS-CFG parameters for tcbw
- lldptool -t -i eth2 -V ETS-CFG -c tcbw
- Display last transmitted ETS-CFG TLV
- lldptool -t -i eth2 -V ETS-CFG
- Configure ETS-CFG and ETS-REC for default DCB on
eth2
- lldptool -T -i eth2 -V ETS-CFG
tsa=0:ets,1:ets,2:ets,3:ets,4:ets,5:ets,6:ets,7:ets
up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7 tcbw=12,12,12,12,13,13,13,13
lldptool -T -i eth2 -V ETS-REC
tsa=0:ets,1:ets,2:ets,3:ets,4:ets,5:ets,6:ets,7:ets
up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7 tcbw=12,12,12,12,13,13,13,13
SOURCE¶
- o
- IEEE 802.1Qaz
(http://www.ieee802.org/1/pages/dcbridges.html)
NOTES¶
Support for tc-mqprio was added in 2.6.38 on older kernels other mechanisms may
need to be used to map applications to traffic classes.
SEE ALSO¶
lldptool(8),
lldptool-app(8),
lldpad(8),
tc-mqprio(8),
AUTHOR¶
John Fastabend