tail head cat sleep
QR code linking to this page

Manual Pages  — ALTQ


ALTQ – alternate queuing of network packets



options ALTQ

options ALTQ_CBQ options ALTQ_CODEL options ALTQ_RED options ALTQ_RIO options ALTQ_HFSC options ALTQ_CDNR options ALTQ_PRIQ options ALTQ_FAIRQ


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.

Kernel Options

The following options in the kernel configuration file are related to ALTQ operation:

ALTQ_CBQ Build the "Class Based Queuing" discipline.
  Build the "Controlled Delay" discipline.
ALTQ_RED Build the "Random Early Detection" extension.
ALTQ_RIO 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.
  Build the "Fair Queuing" discipline.
  Required if the TSC is unusable.
  Enable additional debugging facilities.

Note that Ns 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: ae(4), age(4), alc(4), ale(4), an(4), ath(4), aue(4), axe(4), bce(4), bfe(4), bge(4), bxe(4), cas(4), cxgbe(4), dc(4), de(4), ed(4), em(4), ep(4), epair(4), et(4), fxp(4), gem(4), hme(4), igb(4), ipw(4), iwi(4), ixgbe(4), jme(4), le(4), msk(4), mxge(4), my(4), nfe(4), nge(4), npe(4), qlxgb(4), ral(4), re(4), rl(4), rum(4), sf(4), sge(4), sis(4), sk(4), ste(4), stge(4), ti(4), txp(4), udav(4), ural(4), vge(4), vr(4), vte(4), wi(4), and xl(4).

The ndis(4) framework also has support for ALTQ and thus all encapsulated drivers.

The tun(4) and ng_iface(4) pseudo drivers also do support ALTQ.


pf(4), pf.conf(5), ipfw(8), pfctl(8), altq(9)

ALTQ (4) July 24, 2015

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock.

If you have any trouble sounding condescending, find a Unix user to show you how it's done.
— Scott Adams