.TH TC 8 "13 December 2001" "iproute2" "Linux"
.SH NAME
tbf \- Token Bucket Filter
.SH SYNOPSIS
.B tc qdisc ... tbf rate
rate
.B burst
bytes/cell
.B ( latency
ms
.B | limit
bytes
.B ) [ mpu
bytes
.B [ peakrate
rate
.B mtu
bytes/cell
.B ] ]
.P
burst is also known as buffer and maxburst. mtu is also known as minburst.
.SH DESCRIPTION

The Token Bucket Filter is a classful queueing discipline available for
traffic control with the
.BR tc (8)
command.

TBF is a pure shaper and never schedules traffic. It is non-work-conserving and may throttle
itself, although packets are available, to ensure that the configured rate is not exceeded.
It is able to shape up to 1mbit/s of normal traffic with ideal minimal burstiness,
sending out data exactly at the configured rates.

Much higher rates are possible but at the cost of losing the minimal burstiness. In that
case, data is on average dequeued at the configured rate but may be sent much faster at millisecond
timescales. Because of further queues living in network adaptors, this is often not a problem.

.SH ALGORITHM
As the name implies, traffic is filtered based on the expenditure of
.B tokens.
Tokens roughly correspond to bytes, with the additional constraint
that each packet consumes some tokens, no matter how small it is. This
reflects the fact that even a zero-sized packet occupies the link for
some time.

On creation, the TBF is stocked with tokens which correspond to the amount of traffic that can be burst
in one go. Tokens arrive at a steady rate, until the bucket is full.

If no tokens are available, packets are queued, up to a configured limit. The TBF now
calculates the token deficit, and throttles until the first packet in the queue can be sent.

If it is not acceptable to burst out packets at maximum speed, a peakrate can be configured
to limit the speed at which the bucket empties. This peakrate is implemented as a second TBF
with a very small bucket, so that it doesn't burst.

To achieve perfection, the second bucket may contain only a single packet, which leads to
the earlier mentioned 1mbit/s limit.

This limit is caused by the fact that the kernel can only throttle for at minimum 1 'jiffy', which depends
on HZ as 1/HZ. For perfect shaping, only a single packet can get sent per jiffy - for HZ=100, this means 100
packets of on average 1000 bytes each, which roughly corresponds to 1mbit/s.

.SH PARAMETERS
See
.BR tc (8)
for how to specify the units of these values.
.TP
limit or latency
Limit is the number of bytes that can be queued waiting for tokens to become
available. You can also specify this the other way around by setting the
latency parameter, which specifies the maximum amount of time a packet can
sit in the TBF. The latter calculation takes into account the size of the
bucket, the rate and possibly the peakrate (if set). These two parameters
are mutually exclusive.
.TP
burst
Also known as buffer or maxburst.
Size of the bucket, in bytes. This is the maximum amount of bytes that tokens can be available for instantaneously.
In general, larger shaping rates require a larger buffer. For 10mbit/s on Intel, you need at least 10kbyte buffer
if you want to reach your configured rate!

If your buffer is too small, packets may be dropped because more tokens arrive per timer tick than fit in your bucket.
The minimum buffer size can be calculated by dividing the rate by HZ.

Token usage calculations are performed using a table which by default has a resolution of 8 packets.
This resolution can be changed by specifying the
.B cell
size with the burst. For example, to specify a 6000 byte buffer with a 16
byte cell size, set a burst of 6000/16. You will probably never have to set
this. Must be an integral power of 2.
.TP
mpu
A zero-sized packet does not use zero bandwidth. For ethernet, no packet uses less than 64 bytes. The Minimum Packet Unit
determines the minimal token usage (specified in bytes) for a packet. Defaults to zero.
.TP
rate
The speed knob. See remarks above about limits! See
.BR tc (8)
for units.
.PP
Furthermore, if a peakrate is desired, the following parameters are available:

.TP
peakrate
Maximum depletion rate of the bucket. The peakrate does not
need to be set, it is only necessary if perfect millisecond timescale
shaping is required.

.TP
mtu/minburst
Specifies the size of the peakrate bucket. For perfect accuracy, should be set to the MTU of the interface.
If a peakrate is needed, but some burstiness is acceptable, this size can be raised. A 3000 byte minburst
allows around 3mbit/s of peakrate, given 1000 byte packets.

Like the regular burstsize you can also specify a
.B cell
size.
.SH EXAMPLE & USAGE

To attach a TBF with a sustained maximum rate of 0.5mbit/s, a peakrate of 1.0mbit/s,
a 5kilobyte buffer, with a pre-bucket queue size limit calculated so the TBF causes
at most 70ms of latency, with perfect peakrate behaviour, issue:
.P
# tc qdisc add dev eth0 handle 10: root tbf rate 0.5mbit \\
  burst 5kb latency 70ms peakrate 1mbit       \\
  minburst 1540
.P
To attach an inner qdisc, for example sfq, issue:
.P
# tc qdisc add dev eth0 parent 10:1 handle 100: sfq
.P
Without inner qdisc TBF queue acts as bfifo. If the inner qdisc is changed
the limit/latency is not effective anymore.
.P

.SH SEE ALSO
.BR tc (8)

.SH AUTHOR
Alexey N. Kuznetsov, <kuznet@ms2.inr.ac.ru>. This manpage maintained by
bert hubert <ahu@ds9a.nl>
