.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. See 
.BR tc-filters (8).
.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, for which see
.BR tc-filters (8).
.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 tc-filters (8)

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

