.TH TC 8 "16 December 2001" "iproute2" "Linux"
.SH NAME
tc \- show / manipulate traffic control settings
.SH SYNOPSIS
.B tc qdisc [ add | change | replace | link ] dev 
DEV 
.B 
[ parent 
qdisc-id 
.B | root ] 
.B [ handle 
qdisc-id ] qdisc
[ qdisc specific parameters ]
.P

.B tc class [ add | change | replace ] dev
DEV
.B parent 
qdisc-id 
.B [ classid 
class-id ] qdisc
[ qdisc specific parameters ]
.P

.B tc filter [ add | change | replace ] dev
DEV
.B  [ parent
qdisc-id
.B | root ] protocol
protocol
.B prio
priority filtertype
[ filtertype specific parameters ]
.B flowid
flow-id

.B tc [-s | -d ] qdisc show [ dev 
DEV 
.B  ]
.P
.B tc [-s | -d ] class show dev 
DEV 
.P
.B tc filter show dev 
DEV 

.SH DESCRIPTION
.B Tc
is used to configure Traffic Control in the Linux kernel. Traffic Control consists 
of the following:

.TP 
SHAPING
When traffic is shaped, its rate of transmission is under control. Shaping may 
be more than lowering the available bandwidth - it is also used to smooth out 
bursts in traffic for better network behaviour. Shaping occurs on egress.

.TP 
SCHEDULING
By scheduling the transmission of packets it is possible to improve interactivity
for traffic that needs it while still guaranteeing bandwidth to bulk transfers. Reordering
is also called prioritizing, and happens only on egress.

.TP
POLICING
Where shaping deals with transmission of traffic, policing pertains to traffic
arriving. Policing thus occurs on ingress.

.TP
DROPPING
Traffic exceeding a set bandwidth may also be dropped forthwith, both on 
ingress and on egress.

.P
Processing of traffic is controlled by three kinds of objects: qdiscs, 
classes and filters. 

.SH QDISCS
.B qdisc 
is short for 'queueing discipline' and it is elementary to 
understanding traffic control. Whenever the kernel needs to send a 
packet to an interface, it is 
.B enqueued
to the qdisc configured for that interface. Immediately afterwards, the kernel
tries to get as many packets as possible from the qdisc, for giving them
to the network adaptor driver.

A simple QDISC is the 'pfifo' one, which does no processing at all and is a pure 
First In, First Out queue. It does however store traffic when the network interface
can't handle it momentarily.

.SH CLASSES
Some qdiscs can contain classes, which contain further qdiscs - traffic may 
then be enqueued in any of the inner qdiscs, which are within the
.B classes.
When the kernel tries to dequeue a packet from such a 
.B classful qdisc
it can come from any of the classes. A qdisc may for example prioritize 
certain kinds of traffic by trying to dequeue from certain classes
before others.

.SH FILTERS
A
.B filter
is used by a classful qdisc to determine in which class a packet will
be enqueued. Whenever traffic arrives at a class with subclasses, it needs
to be classified. Various methods may be employed to do so, one of these
are the filters. All filters attached to the class are called, until one of 
them returns with a verdict. If no verdict was made, other criteria may be 
available. This differs per qdisc.

It is important to notice that filters reside 
.B within
qdiscs - they are not masters of what happens.

.SH CLASSLESS QDISCS
The classless qdiscs are:
.TP 
[p|b]fifo
Simplest usable qdisc, pure First In, First Out behaviour. Limited in 
packets or in bytes.
.TP
pfifo_fast
Standard qdisc for 'Advanced Router' enabled kernels. Consists of a three-band
queue which honors Type of Service flags, as well as the priority that may be 
assigned to a packet.
.TP
red
Random Early Detection simulates physical congestion by randomly dropping
packets when nearing configured bandwidth allocation. Well suited to very
large bandwidth applications.
.TP 
sfq
Stochastic Fairness Queueing reorders queued traffic so each 'session'
gets to send a packet in turn.
.TP
tbf
The Token Bucket Filter is suited for slowing traffic down to a precisely
configured rate. Scales well to large bandwidths. 
.SH CONFIGURING CLASSLESS QDISCS
In the absence of classful qdiscs, classless qdiscs can only be attached at 
the root of a device. Full syntax:
.P
.B tc qdisc add dev 
DEV 
.B root 
QDISC QDISC-PARAMETERS

To remove, issue
.P
.B tc qdisc del dev
DEV
.B root

The  
.B pfifo_fast
qdisc is the automatic default in the absence of a configured qdisc.

.SH CLASSFUL QDISCS
The classful qdiscs are:
.TP
CBQ
Class Based Queueing implements a rich linksharing hierarchy of classes. 
It contains shaping elements as well as prioritizing capabilities. Shaping is
performed using link idle time calculations based on average packet size and
underlying link bandwidth. The latter may be ill-defined for some interfaces.
.TP
HTB
The Hierarchy Token Bucket implements a rich linksharing hierarchy of 
classes with an emphasis on conforming to existing practices. HTB facilitates
guaranteeing bandwidth to classes, while also allowing specification of upper
limits to inter-class sharing. It contains shaping elements, based on TBF and
can prioritize classes.	
.TP 
PRIO
The PRIO qdisc is a non-shaping container for a configurable number of 
classes which are dequeued in order. This allows for easy prioritization 
of traffic, where lower classes are only able to send if higher ones have 
no packets available. To facilitate configuration, Type Of Service bits are 
honored by default.
.SH THEORY OF OPERATION
Classes form a tree, where each class has a single parent. 
A class may have multiple children. Some qdiscs allow for runtime addition
of classes (CBQ, HTB) while others (PRIO) are created with a static number of 
children.

Qdiscs which allow dynamic addition of classes can have zero or more 
subclasses to which traffic may be enqueued. 

Furthermore, each class contains a
.B leaf qdisc
which by default has 
.B pfifo 
behaviour though another qdisc can be attached in place. This qdisc may again 
contain classes, but each class can have only one leaf qdisc. 

When a packet enters a classful qdisc it can be 
.B classified
to one of the classes within. Three criteria are available, although not all 
qdiscs will use all three:
.TP 
tc filters
If tc filters are attached to a class, they are consulted first 
for relevant instructions. Filters can match on all fields of a packet header, 
as well as on the firewall mark applied by ipchains or iptables. 
.TP
Type of Service
Some qdiscs have built in rules for classifying packets based on the TOS field.
.TP
skb->priority
Userspace programs can encode a class-id in the 'skb->priority' field using 
the SO_PRIORITY option.
.P
Each node within the tree can have its own filters but higher level filters
may also point directly to lower classes.

If classification did not succeed, packets are enqueued to the leaf qdisc 
attached to that class. Check qdisc specific manpages for details, however.

.SH NAMING
All qdiscs, classes and filters have IDs, which can either be specified
or be automatically assigned. 

IDs consist of a major number and a minor number, separated by a colon.

.TP 
QDISCS
A qdisc, which potentially can have children, 
gets assigned a major number, called a 'handle', leaving the minor 
number namespace available for classes. The handle is expressed as '10:'. 
It is customary to explicitly assign a handle to qdiscs expected to have 
children.

.TP 
CLASSES
Classes residing under a qdisc share their qdisc major number, but each have
a separate minor number called a 'classid' that has no relation to their 
parent classes, only to their parent qdisc. The same naming custom as for 
qdiscs applies.

.TP 
FILTERS
Filters have a three part ID, which is only needed when using a hashed
filter hierarchy.
.SH UNITS
All parameters accept a floating point number, possibly followed by a unit.
.P
Bandwidths or rates can be specified in:
.TP 
kbps
Kilobytes per second
.TP
mbps
Megabytes per second
.TP
kbit
Kilobits per second
.TP
mbit
Megabits per second
.TP
bps or a bare number
Bytes per second
.P
Amounts of data can be specified in:
.TP
kb or k
Kilobytes
.TP
mb or m
Megabytes
.TP
mbit
Megabits
.TP
kbit
Kilobits
.TP
b or a bare number
Bytes.
.P
Lengths of time can be specified in:
.TP
s, sec or secs
Whole seconds
.TP
ms, msec or msecs
Milliseconds
.TP
us, usec, usecs or a bare number
Microseconds.

.SH TC COMMANDS
The following commands are available for qdiscs, classes and filter:
.TP
add
Add a qdisc, class or filter to a node. For all entities, a 
.B parent
must be passed, either by passing its ID or by attaching directly to the root of a device. 
When creating a qdisc or a filter, it can be named with the
.B handle
parameter. A class is named with the
.B classid
parameter.

.TP
remove
A qdisc can be removed by specifying its handle, which may also be 'root'. All subclasses and their leaf qdiscs 
are automatically deleted, as well as any filters attached to them.

.TP
change
Some entities can be modified 'in place'. Shares the syntax of 'add', with the exception
that the handle cannot be changed and neither can the parent. In other words, 
.B
change 
cannot move a node.

.TP
replace
Performs a nearly atomic remove/add on an existing node id. If the node does not exist yet
it is created.

.TP
link
Only available for qdiscs and performs a replace where the node 
must exist already.


.SH HISTORY
.B tc
was written by Alexey N. Kuznetsov and added in Linux 2.2.
.SH SEE ALSO
.BR tc-cbq (8),
.BR tc-htb (8),
.BR tc-sfq (8),
.BR tc-red (8),
.BR tc-tbf (8),
.BR tc-pfifo (8),
.BR tc-bfifo (8),
.BR tc-pfifo_fast (8),
.br
.RB "User documentation at " http://lartc.org/ ", but please direct bugreports and patches to: " <netdev@vger.kernel.org>

.SH AUTHOR
Manpage maintained by bert hubert (ahu@ds9a.nl)

