bump to latest stable and change repository layout
[iproute2.git] / man / man8 / tc.8
diff --git a/man/man8/tc.8 b/man/man8/tc.8
deleted file mode 100644 (file)
index b9b8039..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-.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)
-