- Create a compact and clean configuration language
- Allow for the addition of input languages more suitable for use by programs, e.g. XML
- Implement traffic control not only using the existing kernel code, but possibly also using custom-made modules, or even hardware accelerators
|tcng takes its input from a script or program, invokes the appropriate input parser to translate the configuration data into a common internal data structure, and then invokes one or more output generators to issue commands to the corresponding output processor(s).|
Output processors translate the output from tcng into actions understood by lower-level components, e.g. tc sends configuration messages over the netlink interface, while gcc builds a customized loadable kernel module, a tc module, plus the tc commands necessary to activate the kernel module.
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.
tcng currently only supports static configurations. Dynamic configuration will be studied in the future.