This is automatically generated documentation. Edit after the "COMMENTS" heading; changes to the main body will be lost.
specializes Classifier code in a Click configuration
click-fastclassifier [options] [param=value ...] [router-file]
The click-fastclassifier tool speeds up a Click configuration by creating fast versions of all its Classifier, IPClassifier, and IPFilter elements. It reads a router configuration file in the language language and creates specialized C++ source code for each Classifier-like element. A Classifier is expanded into a series of if statements; for example, the expansion of 'Classifier(0/80, -)' contains something like this function:
inline void
FastClassifier_a_ac::length_unchecked_push(Packet *p)
{
const unsigned *data = (const unsigned *)(p->data() - 0);
step_0:
if ((data[0] & 255U) == 128U) {
output(0).push(p);
return;
}
output(1).push(p);
return;
}
After creating the source code, click-fastclassifier will optionally compile it into dynamically loadable packages. The Classifier elements in the input configuration are changed to use new FastClassifier elements, and the resulting configuration, plus source code and any compiled packages, are combined into an archive and written to the standard output. You can install such an archive into the linuxmodule Linux kernel module with click-install:
% click-fastclassifier -k CONFIGURATION | click-install
The userdriver user level driver can read the archives directly.
The click-fastclassifier transformation can be reversed with the --reverse option.
If any filename argument is a single dash "-", click-fastclassifier will use the standard input or output instead, as appropriate.
userdriver, click-devirtualize, click-install, language, linuxmodule, Classifier, IPClassifier, IPFilter
Eddie Kohler, kohler@cs.ucla.edu
http://www.pdos.lcs.mit.edu/click/