[ Background: tcng is a system that allows traffic control configurations to be expressed in a much more natural way than with iproute2/tc, while retaining full compatibility. tcng can generate tc configuration commands, so no kernel changes are required. http://tcng.sourceforge.net/ ] I started tcng about one and a half years ago at EPF Lausanne, as part of a research project. Back then, the main goals were to provide a more friendly configuration language, and also to allow better abstraction between the configuration process and the underlying traffic control implementation. Then, work on tcng continued for one year on a contract with Bivio Networks, where I was graciously allowed to release most of my work to the public. The main result of this was the so-called "external interface" that can be used to drive hardware accelerators. Also, I got a lot of useful input from Jacob Teplitsky and others, and major usability and performance improvements were made during that time. Most importantly, while the original design assumed that all traffic control configurations would mirror the structure of traffic control in the Linux kernel, tcng now allows much better abstraction for classification. Now that my contract with Bivio Networks has ended, I''m continuing tcng as a hobbyist project. While I consider tcng to be sufficiently mature for serious use, there are still a few issues I plan to tackle, among them: - phase out "kernel-style" classification (the missing link for this is that "if" can''t handle meta-data like skb->nfmark yet) - treat classifications as the construction of a finite state machine instead of the current ad hoc algebra. This is a hairy graph theoretical problem, but I expect major scalability improvements once I''ve solved this. - add loops to the classification mechanism (e.g. to walk through IPv4 options or IPv6 headers) - try to find a way to express queuing in an abstract and structured way, much like classification - and, of course, there are many minor misfeatures to address Since tcng is much broader than just Diffserv, I''m moving any discussion and announcements over to the LARTC mailing list (http://lartc.org/#mailinglist). I''m posting this message and the next release announcement to both lists. - Werner -- _________________________________________________________________________ / Werner Almesberger, Buenos Aires, Argentina wa@almesberger.net / /_http://icapeople.epfl.ch/almesber/_____________________________________/