1.\" 2.\" Copyright (c) 2004 Max Laier <mlaier@FreeBSD.org> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24.\" SUCH DAMAGE. 25.\" 26.\" $FreeBSD$ 27.\" 28.Dd December 9, 2011 29.Dt ALTQ 4 30.Os 31.Sh NAME 32.Nm ALTQ 33.Nd "alternate queuing of network packets" 34.Sh SYNOPSIS 35.Cd options ALTQ 36.Pp 37.Cd options ALTQ_CBQ 38.Cd options ALTQ_RED 39.Cd options ALTQ_RIO 40.Cd options ALTQ_HFSC 41.Cd options ALTQ_CDNR 42.Cd options ALTQ_PRIQ 43.Sh DESCRIPTION 44The 45.Nm 46framework provides several disciplines for queuing outgoing network packets. 47This is done by modifications to the interface packet queues. 48See 49.Xr altq 9 50for details. 51.Pp 52The user interface for 53.Nm 54is implemented by the 55.Xr pfctl 8 56utility, so please refer to the 57.Xr pfctl 8 58and the 59.Xr pf.conf 5 60manpages for a complete description of the 61.Nm 62capabilities and how to use it. 63.Ss Kernel Options 64The following options in the kernel configuration file are related to 65.Nm 66operation: 67.Pp 68.Bl -tag -width ".Dv ALTQ_DEBUG" -compact 69.It Dv ALTQ 70Enable 71.Nm . 72.It Dv ALTQ_CBQ 73Build the 74.Dq "Class Based Queuing" 75discipline. 76.It Dv ALTQ_RED 77Build the 78.Dq "Random Early Detection" 79extension. 80.It Dv ALTQ_RIO 81Build 82.Dq "Random Early Drop" 83for input and output. 84.It Dv ALTQ_HFSC 85Build the 86.Dq "Hierarchical Packet Scheduler" 87discipline. 88.It Dv ALTQ_CDNR 89Build the traffic conditioner. 90This option is meaningless at the moment as the conditioner is not used by 91any of the available disciplines or consumers. 92.It Dv ALTQ_PRIQ 93Build the 94.Dq "Priority Queuing" 95discipline. 96.It Dv ALTQ_NOPCC 97Required if the TSC is unusable. 98.It Dv ALTQ_DEBUG 99Enable additional debugging facilities. 100.El 101.Pp 102Note that 103.Nm Ns -disciplines 104cannot be loaded as kernel modules. 105In order to use a certain discipline you have to build it into a custom 106kernel. 107The 108.Xr pf 4 109interface, that is required for the configuration process of 110.Nm 111can be loaded as a module. 112.Sh SUPPORTED DEVICES 113The driver modifications described in 114.Xr altq 9 115are required to use a certain network card with 116.Nm . 117They have been applied to the following hardware drivers: 118.Xr ae 4 , 119.Xr age 4 , 120.Xr alc 4 , 121.Xr ale 4 , 122.Xr an 4 , 123.Xr ath 4 , 124.Xr aue 4 , 125.Xr axe 4 , 126.Xr bce 4 , 127.Xr bfe 4 , 128.Xr bge 4 , 129.Xr cas 4 , 130.Xr cxgbe 4 , 131.Xr dc 4 , 132.Xr de 4 , 133.Xr ed 4 , 134.Xr em 4 , 135.Xr ep 4 , 136.Xr epair 4 , 137.Xr et 4 , 138.Xr fxp 4 , 139.Xr gem 4 , 140.Xr hme 4 , 141.Xr igb 4 , 142.Xr ipw 4 , 143.Xr iwi 4 , 144.Xr ixgbe 4 , 145.Xr jme 4 , 146.Xr le 4 , 147.Xr msk 4 , 148.Xr mxge 4 , 149.Xr my 4 , 150.Xr nfe 4 , 151.Xr nge 4 , 152.Xr npe 4 , 153.Xr nve 4 , 154.Xr qlxgb 4 , 155.Xr ral 4 , 156.Xr re 4 , 157.Xr rl 4 , 158.Xr rum 4 , 159.Xr sf 4 , 160.Xr sge 4 , 161.Xr sis 4 , 162.Xr sk 4 , 163.Xr ste 4 , 164.Xr stge 4 , 165.Xr ti 4 , 166.Xr txp 4 , 167.Xr udav 4 , 168.Xr ural 4 , 169.Xr vge 4 , 170.Xr vr 4 , 171.Xr vte 4 , 172.Xr wi 4 , 173and 174.Xr xl 4 . 175.Pp 176The 177.Xr ndis 4 178framework also has support for 179.Nm 180and thus all encapsulated drivers. 181.Pp 182The 183.Xr tun 4 184and 185.Xr ng_iface 4 186pseudo drivers also do support 187.Nm . 188.Sh SEE ALSO 189.Xr pf 4 , 190.Xr pf.conf 5 , 191.Xr ipfw 8 , 192.Xr pfctl 8 , 193.Xr altq 9 194