BSD Kernel Interfaces Manual
ALTQ — alternate queuing of network packets
The ALTQ framework provides several disciplines for queuing outgoing network packets. This is done by
modifications to the interface packet queues. See altq(9) for details.
The user interface for ALTQ is implemented by the pfctl(8) utility, so please refer to the pfctl(8) and the
pf.conf(5) manpages for a complete description of the ALTQ capabilities and how to use it.
The following options in the kernel configuration file are related to ALTQ operation:
Build the “Class Based Queuing” discipline.
Build the “Random Early Detection” extension.
Build “Random Early Drop” for input and output.
ALTQ_HFSC Build the “Hierarchical Packet Scheduler” discipline.
ALTQ_CDNR Build the traffic conditioner. This option is meaningless at the moment as the conditioner is
not used by any of the available disciplines or consumers.
ALTQ_PRIQ Build the “Priority Queuing” discipline.
ALTQ_NOPCC Required if the TSC is unusable.
ALTQ_DEBUG Enable additional debugging facilities.
Note that ALTQ-disciplines cannot be loaded as kernel modules. In order to use a certain discipline you have
to build it into a custom kernel. The pf(4) interface, that is required for the configuration process of ALTQ
can be loaded as a module.
The driver modifications described in altq(9) are required to use a certain network card with ALTQ. They
have been applied to the following hardware drivers: age(4), alc(4), ale(4), an(4), ath(4), aue(4),
bce(4), bfe(4), bge(4), cas(4), dc(4), de(4), ed(4), em(4), ep(4), epair(4), fxp(4), gem(4), hme(4),
ipw(4), iwi(4), jme(4), le(4), msk(4), mxge(4), my(4), nfe(4), nge(4), npe(4), nve(4), ral(4), re(4),
rl(4), rum(4), sf(4), sis(4), sk(4), ste(4), stge(4), txp(4), udav(4), ural(4), vge(4), vr(4), wi(4),