.TH DCB-ETS 8 "19 October 2020" "iproute2" "Linux"
.SH NAME
dcb-ets \- show / manipulate ETS (Enhanced Transmission Selection) settings of
the DCB (Data Center Bridging) subsystem
.SH SYNOPSIS
.sp
.ad l
.in +8

.ti -8
.B dcb
.RI "[ " OPTIONS " ] "
.B ets
.RI "{ " COMMAND " | " help " }"
.sp

.ti -8
.B dcb ets show dev
.RI DEV
.RB "[ " willing " ]"
.RB "[ " ets-cap " ]"
.RB "[ " cbs " ]"
.RB "[ " tc-tsa " ]"
.RB "[ " reco-tc-tsa " ]"
.RB "[ " pg-bw " ]"
.RB "[ " tc-bw " ]"
.RB "[ " reco-tc-bw " ]"
.RB "[ " prio-tc " ]"
.RB "[ " reco-prio-tc " ]"

.ti -8
.B dcb ets set dev
.RI DEV
.RB "[ " willing " { " on " | " off " } ]"
.RB "[ { " tc-tsa " | " reco-tc-tsa " } " \fITSA-MAP\fB " ]"
.RB "[ { " pg-bw " | " tc-bw " | " reco-tc-bw " } " \fIBW-MAP\fB " ]"
.RB "[ { " prio-tc " | " reco-prio-tc " } " \fIPRIO-MAP\fB " ]"

.ti -8
.IR TSA-MAP " := [ " TSA-MAP " ] " TSA-MAPPING

.ti -8
.IR TSA-MAPPING " := { " TC " | " \fBall " }" \fB: "{ " \fBstrict\fR " | "
.IR \fBcbs\fR " | " \fBets\fR " | " \fBvendor\fR " }"

.ti -8
.IR BW-MAP " := [ " BW-MAP " ] " BW-MAPPING

.ti -8
.IR BW-MAPPING " := { " TC " | " \fBall " }" \fB:\fIINTEGER\fR

.ti -8
.IR PRIO-MAP " := [ " PRIO-MAP " ] " PRIO-MAPPING

.ti -8
.IR PRIO-MAPPING " := { " PRIO " | " \fBall " }" \fB:\fITC\fR

.ti -8
.IR TC " := { " \fB0\fR " .. " \fB7\fR " }"

.ti -8
.IR PRIO " := { " \fB0\fR " .. " \fB7\fR " }"

.SH DESCRIPTION

.B dcb ets
is used to configure Enhanced Transmission Selection attributes through Linux
DCB (Data Center Bridging) interface. ETS permits configuration of mapping of
priorities to traffic classes, traffic selection algorithm to use per traffic
class, bandwidth allocation, etc.

Two DCB TLVs are related to the ETS feature: a configuration and recommendation
values. Recommendation values are named with a prefix
.B reco-,
while the configuration ones have plain names.

.SH PARAMETERS

For read-write parameters, the following describes only the write direction,
i.e. as used with the \fBset\fR command. For the \fBshow\fR command, the
parameter name is to be used as a simple keyword without further arguments. This
instructs the tool to show the value of a given parameter. When no parameters
are given, the tool shows the complete ETS configuration.

.TP
.B ets-cap
A read-only property that shows the number of supported ETS traffic classes.

.TP
.B cbs
A read-only property that is enabled if the driver and the hardware support the
CBS Transmission Selection Algorithm.

.TP
.B willing \fR{ \fBon\fR | \fBoff\fR }
Whether local host should accept configuration from peer TLVs.

.TP
.B prio-tc \fIPRIO-MAP
.TQ
.B reco-prio-tc \fIPRIO-MAP
\fIPRIO-MAP\fR uses the array parameter syntax, see
.BR dcb (8)
for details. Keys are priorities, values are traffic classes. For each priority
sets a TC where traffic with that priority is directed to.

.TP
.B tc-tsa \fITSA-MAP
.TQ
.B reco-tc-tsa \fITSA-MAP
\fITSA-MAP\fR uses the array parameter syntax, see
.BR dcb (8)
for details. Keys are TCs, values are Transmission Selection Algorithm (TSA)
keywords described below. For each TC sets an algorithm used for deciding how
traffic queued up at this TC is scheduled for transmission. Supported TSAs are:

.B strict
- for strict priority, where traffic in higher-numbered TCs always takes
precedence over traffic in lower-numbered TCs.
.br
.B ets
- for Enhanced Traffic Selection, where available bandwidth is distributed among
the ETS-enabled TCs according to the weights set by
.B tc-bw
and
.B reco-tc-bw\fR,
respectively.
.br
.B cbs
- for Credit Based Shaper, where traffic is scheduled in a strict manner up to
the limit set by a shaper.
.br
.B vendor
- for vendor-specific traffic selection algorithm.

.TP
.B tc-bw \fIBW-MAP
.TQ
.B reco-tc-bw \fIBW-MAP
\fIBW-MAP\fR uses the array parameter syntax, see
.BR dcb (8)
for details. Keys are TCs, values are integers representing percent of available
bandwidth given to the traffic class in question. The value should be 0 for TCs
whose TSA is not \fBets\fR, and the sum of all values shall be 100. As an
exception to the standard wording, a configuration with no \fBets\fR TCs is
permitted to sum up to 0 instead.
.br

.TP
.B pg-bw \fIBW-MAP
The precise meaning of \fBpg-bw\fR is not standardized, but the assumption seems
to be that the same scheduling process as on the transmit side is applicable on
receive side as well, and configures receive bandwidth allocation for \fBets\fR
ingress traffic classes (priority groups).

.SH EXAMPLE & USAGE

Configure ETS priomap in a one-to-one fashion:

.P
# dcb ets set dev eth0 prio-tc 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7

Set TSA and transmit bandwidth configuration:

.P
# dcb ets set dev eth0 tc-tsa all:strict 0:ets 1:ets 2:ets \\
.br
                       tc-bw all:0 0:33 1:33 2:34

Show what was set:

.P
# dcb ets show dev eth0 prio-tc tc-tsa tc-bw
.br
prio-tc 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
.br
tc-tsa 0:ets 1:ets 2:ets 3:strict 4:strict 5:strict 6:strict 7:strict
.br
tc-bw 0:33 1:33 2:34 3:0 4:0 5:0 6:0 7:0

.SH EXIT STATUS
Exit status is 0 if command was successful or a positive integer upon failure.

.SH SEE ALSO
.BR dcb (8)

.SH REPORTING BUGS
Report any bugs to the Network Developers mailing list
.B <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.

.SH AUTHOR
Petr Machata <me@pmachata.org>
