mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2026-01-06 23:18:50 +00:00
man: Add initial manpage for tc-cbs(8)
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
c9681ac1b3
commit
d652988920
112
man/man8/tc-cbs.8
Normal file
112
man/man8/tc-cbs.8
Normal file
@ -0,0 +1,112 @@
|
||||
.TH CBS 8 "18 Sept 2017" "iproute2" "Linux"
|
||||
.SH NAME
|
||||
CBS \- Credit Based Shaper (CBS) Qdisc
|
||||
.SH SYNOPSIS
|
||||
.B tc qdisc ... dev
|
||||
dev
|
||||
.B parent
|
||||
classid
|
||||
.B [ handle
|
||||
major:
|
||||
.B ] cbs idleslope
|
||||
idleslope
|
||||
.B sendslope
|
||||
sendslope
|
||||
.B hicredit
|
||||
hicredit
|
||||
.B locredit
|
||||
locredit
|
||||
.B [ offload
|
||||
0|1
|
||||
.B ]
|
||||
|
||||
.SH DESCRIPTION
|
||||
The CBS (Credit Based Shaper) qdisc implements the shaping algorithm
|
||||
defined by the IEEE 802.1Q-2014 Section 8.6.8.2, which applies a well
|
||||
defined rate limiting method to the traffic.
|
||||
|
||||
This queueing discipline is intended to be used by TSN (Time Sensitive
|
||||
Networking) applications, the CBS parameters are derived directly by
|
||||
what is described by the Annex L of the IEEE 802.1Q-2014
|
||||
Sepcification. The algorithm and how it affects the latency are
|
||||
detailed there.
|
||||
|
||||
CBS is meant to be installed under another qdisc that maps packet
|
||||
flows to traffic classes, one example is
|
||||
.BR mqprio(8).
|
||||
|
||||
.SH PARAMETERS
|
||||
.TP
|
||||
idleslope
|
||||
Idleslope is the rate of credits that is accumulated (in kilobits per
|
||||
second) when there is at least one packet waiting for transmission.
|
||||
Packets are transmitted when the current value of credits is equal or
|
||||
greater than zero. When there is no packet to be transmitted the
|
||||
amount of credits is set to zero. This is the main tunable of the CBS
|
||||
algorithm.
|
||||
.TP
|
||||
sendslope
|
||||
Sendslope is the rate of credits that is depleted (it should be a
|
||||
negative number of kilobits per second) when a transmission is
|
||||
ocurring. It can be calculated as follows, (IEEE 802.1Q-2014 Section
|
||||
8.6.8.2 item g):
|
||||
|
||||
sendslope = idleslope - port_transmit_rate
|
||||
|
||||
.TP
|
||||
hicredit
|
||||
Hicredit defines the maximum amount of credits (in bytes) that can be
|
||||
accumulated. Hicredit depends on the characteristics of interfering
|
||||
traffic, 'max_interference_size' is the maximum size of any burst of
|
||||
traffic that can delay the transmission of a frame that is available
|
||||
for transmission for this traffic class, (IEEE 802.1Q-2014 Annex L,
|
||||
Equation L-3):
|
||||
|
||||
hicredit = max_interference_size * (idleslope / port_transmit_rate)
|
||||
|
||||
.TP
|
||||
locredit
|
||||
Locredit is the minimum amount of credits that can be reached. It is a
|
||||
function of the traffic flowing through this qdisc (IEEE 802.1Q-2014
|
||||
Annex L, Equation L-2):
|
||||
|
||||
locredit = max_frame_size * (sendslope / port_transmit_rate)
|
||||
|
||||
.TP
|
||||
offload
|
||||
When
|
||||
.B offload
|
||||
is 1,
|
||||
.BR cbs(8)
|
||||
will try to configure the network interface so the CBS algorithm runs
|
||||
in the controller. The default is 0.
|
||||
|
||||
.SH EXAMPLES
|
||||
|
||||
CBS is used to enforce a Quality of Service by limiting the data rate
|
||||
of a traffic class, to separate packets into traffic classes the user
|
||||
may choose
|
||||
.BR mqprio(8),
|
||||
and configure it like this:
|
||||
|
||||
.EX
|
||||
# tc qdisc add dev eth0 handle 100: parent root mqprio num_tc 3 \\
|
||||
map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \\
|
||||
queues 1@0 1@1 2@2 \\
|
||||
hw 0
|
||||
.EE
|
||||
.P
|
||||
To replace the current queuing disciple by CBS in the current queueing
|
||||
discipline connected to traffic class number 0, issue:
|
||||
.P
|
||||
.EX
|
||||
# tc qdisc replace dev eth0 parent 100:4 cbs \\
|
||||
locredit -1470 hicredit 30 sendslope -980000 idleslope 20000
|
||||
.EE
|
||||
|
||||
These values are obtained from the following parameters, idleslope is
|
||||
20mbit/s, the transmission rate is 1Gbit/s and the maximum interfering
|
||||
frame size is 1500 bytes.
|
||||
|
||||
.SH AUTHORS
|
||||
Vinicius Costa Gomes <vinicius.gomes@intel.com>
|
||||
Loading…
Reference in New Issue
Block a user