|
|
The goal of this project is to revise the network traffic control
infrastructure of Linux to overcome shortcomings of the existing
architecture, and to make it more extensible.
In particular, we try to address the following issues:
The code consists of two major components, the traffic control compiler tcng and the traffic control simulator tcsim. Both are described in some more detail below. Since tcng and tcsim share many support files (e.g. the whole regression test system), they are both contained in a single package, called tcng.
This site contains the source code and information directly related to
tcng.
Pointers to sites with information on traffic control in general can be
found in the links section below.
|
|
||
tcng translates configuration scripts into a multitude of output
formats used to configure traffic control subsystems. The main goals
are:
Currently, the "tcng" input parser, and the output generators "tc",
"C", and "external" (a generic interface designed for passing
information to programs which set up hardware accelerators) are
implemented. "C" and "external" are designed mainly around the "if"
language construct and don't (yet) support other filters.
|
|
||
tcsim is used to simulate the behaviour of Linux Traffic Control at
a very high level of detail. This is used mainly for the following
purposes:
tcsim directly supports configuration using the old configuration language, and it supports the new language by automatically invoking tcng, and integrating its output.
tcsim processes a script defining the system configuration and the data to send, and generates a message trace, which can then be processed to obtain statistics or graphs. Interaction among individual traffic control components can be included in trace output. The use of tcsim is strongly encouraged when developing new traffic control configurations, be it in the old or in the new language. |
|
|
The current version is
tcng-10b
(507 kB), released 3-OCT-2004.
Changes since the previous version: Older versions can be found here. Very old versions can be found in the the old distribution directory. |
|
|
Most discussion related to Linux traffic control happens nowadays
on the
mailing list of the
Linux Advanced Routing & Traffic
Control project.
Until June 2002, discussion of tcng took place mainly on the mailing list of the diffserv project. That mailing list is archived at http://www.geocrawler.com/redir-sf.php3?list=diffserv-general |
|
|
Overview:
Usage information: Implementation details:
|
|
|
tcng:
Linux Traffic Control:
|
Last update: 3-OCT-2004 Werner Almesberger |