table of contents
other versions
- wheezy 10b-4
tcng(1) | TCNG | tcng(1) |
NAME¶
tcng - Traffic control compilerSYNOPSIS¶
tcng [ -c ] [ -d ... ] [ -E ] [ -i <default_interface> ] [ -l <location_file> ] [ -n ] [ -q ] [ -r ] [ -w ] [ -W [no]<condition> ] [ -O [no]<option> ] [ -x <element>:<ext_target> ... ] [ -t [no]<target> ... ] [ -u <var_use_file> ] [ -X <phase>,<argument> ] [ <cpp_option> ] [ <file> ]DESCRIPTION¶
The tcng language is extensively described in several formats, you can find these files in /usr/share/doc/tcng. This manpage describes nothing but command-line arguments. tcng reads traffic control specifications in the tcng language and generates command or files for a number of mechanisms that are used to implement traffic control functionality.- -c
- only check validity of input, don't build a configuration. If requested, the location file and the variable use file are also generated when using -c
- -d
- increase debugging level
- -E
- only run cpp, and send its output to standard output. This is useful for separately running files through cpp, while using the default includes added by tcng.
- -i <default_interface>
- interface to use if none is specified in the description file. See section “Interfaces revisited” for further details.
- -l <location_file>
- write a list of source code locations of traffic control elements to the specified file. See section “Location map” for details. Using the special file name “stderr” sends the output to standard error.
- -n
- do not include “default.tc”. By default, tcng includes this file, which in turn includes the files described in section “Include files”. This can be undesirable, e.g. if operating in a non-TCP/IP context, or if using a different default include file with application-specific definitions. In the latter case, the following options should be used: tcng ... -n ... -Xp,--include -Xp,/<directory>/<file> ...
- -O[no]<option>
- enable or disable the specified optimization. The following optimizations are recognized:
“cse” common subexpression
elimination
“ne” turn != into multiple ==s
“prefix” generate prefix matches instead of bit tests
By default, all optimizations except “cse” are turned off.
- -q
- quiet, produce terse output
- -r
- remove old queuing disciplines before adding new ones ("tc" only)
- -t [<elem:>][no]<target> ...
- enable or disable target (see section “Targets”). The only element currently supported is “if”. Supported targets are “all”, “tc” (default), “c”, and “ext”. The -t options can be repeated to enable or disable multiple targets.
- -u<var_use_file>
- for each variable, write its name and value to the specified file. See section “Variable use list” for details. Using the special file name “stderr” sends the output to standard error.
- -V
- print version number and exit
- -w
- suppress all warnings
- -W[no]<condition>
- enable or disable issuing a warning message on the specified condition. The following conditions are recognized:
“constpfx” warn if using
the / (mask) operator on a constant IPv4 or IPv6 address, as in ip_src ==
1.2.3.0/24, which should probably be ip_src/24 == 1.2.3.0
“expensive” generate warnings when encountering
“expensive” constructs in “if” classifier. A construct
is considered “expensive” if processing it may take tcng an
unusual amount of time. Operations like negation, certain tests for
non-equality, or static classification that follows metering, are
“expensive”.
Because “expensive” may be overly pessimistic,
“exppostopt” should be used whenever possible.
“experror” turns warnings from “expensive” or
“exppostopt” into fatal errors. Setting “experror”
without also setting “expensive” or “exppostopt” has
no effect.
“explicit” warn if a class if explicitly specified for the
inner queuing discipline of “dsmark”, “egress”, or
“ingress”
“exppostopt” like “expensive”, but test for
“expensive” constructs after trying to optimize the expression,
which may eliminate some apparently expensive constructs.
“exppostopt” can only indicate in which “if”
classifier the expression occurred, not in which selector of that classifier.
“expensive” has no effect if “exppostopt” is set.
Note that neither “expensive” nor “exppostopt” are
useful when using “nocombine” (see sectionbarriers).
“redefine” warn if re-defining variables
“truncate” warn if truncating values, e.g. when converting a
floating-point number to an integer
“unused” report unused variables
By default, all warnings except "explicit" and "unused" are turned off.
By default, all warnings except "explicit" and "unused" are turned off.
- -x <element>:<ext_target> ...
- register external target (see section “Targets”). The -x option can be repeated to register multiple external targets.
- -X<phase>,<argument>
- verbatim argument for specific build phase. See section “Phases underneath tcng” for details.
- <cpp_option>
- one of the following options for the C pre-processor: -I<dir> , -D<name>[=<value>] , or -U<name>
2007-11-15 | Debian |