Command Section

ALTQ(4)                FreeBSD Kernel Interfaces Manual                ALTQ(4)

NAME
     ALTQ - alternate queuing of network packets

SYNOPSIS
     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

DESCRIPTION
     The ALTQ system is a framework which 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) man pages 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            Enable ALTQ.
     ALTQ_CBQ        Build the "Class Based Queuing" discipline.
     ALTQ_CODEL      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.
     ALTQ_FAIRQ      Build the "Fair 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.

SUPPORTED DEVICES
     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), aue(4), axe(4),
     bce(4), bfe(4), bge(4), bxe(4), cas(4), cxgbe(4), dc(4), em(4), epair(4),
     et(4), fxp(4), gem(4), igb(4), ixgbe(4), jme(4), le(4), liquidio(4),
     msk(4), mxge(4), my(4), nfe(4), nge(4), npe(4), qlxgb(4), re(4), rl(4),
     sge(4), sis(4), sk(4), ste(4), stge(4), ti(4), udav(4), vge(4), vr(4),
     vte(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.

     The vlan(4) driver does not directly support ALTQ, but as packets (mbufs)
     are passed to the underlying interface, a queue can be defined for the
     underlying interface, and any packets directed to the queue will be
     processed at the interface level.  An example:

           altq on igb0 cbq queue { def aq }
           queue def bandwidth 90% cbq (default borrow)
           queue aq bandwidth 10Mb cbq

           pass in on igb0.10 proto udp all queue aq keep state

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

HISTORY
     The ALTQ system first appeared in March 1997 and found home in the KAME
     project (http://www.kame.net).  It was imported to FreeBSD in 5.3 .

FreeBSD 13.1-RELEASE-p6        December 26, 2020       FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...