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: src/share/man/man4/altq.4,v 1.16 2006/03/02 19:45:59 thompsa Exp $ 27.\" $DragonFly: src/share/man/man4/altq.4,v 1.5 2008/04/06 19:29:47 swildner Exp $ 28.\" 29.Dd April 6, 2008 30.Dt ALTQ 4 31.Os 32.Sh NAME 33.Nm ALTQ 34.Nd "alternate queuing of network packets" 35.Sh SYNOPSIS 36.Cd options ALTQ 37.Pp 38.Cd options ALTQ_CBQ 39.Cd options ALTQ_RED 40.Cd options ALTQ_RIO 41.Cd options ALTQ_HFSC 42.\".Cd options ALTQ_CDNR 43.Cd options ALTQ_PRIQ 44.Cd options ALTQ_FAIRQ 45.Cd options ALTQ_NOPCC 46.Cd options ALTQ_DEBUG 47.Sh DESCRIPTION 48The 49.Nm 50framework provides several disciplines for queuing outgoing network packets. 51This is done by modifications to the interface packet queues. 52See 53.Xr altq 9 54for details. 55.Pp 56The user interface for 57.Nm 58is implemented by the 59.Xr pfctl 8 60utility, so please refer to the 61.Xr pfctl 8 62and the 63.Xr pf.conf 5 64manpages for a complete description of the 65.Nm 66capabilities and how to use it. 67.Ss Kernel Options 68The following options in the kernel configuration file are related to 69.Nm 70operation: 71.Pp 72.Bl -tag -width ".Dv ALTQ_DEBUG" -compact 73.It Dv ALTQ 74Enable 75.Nm . 76.It Dv ALTQ_CBQ 77Build the 78.Dq "Class Based Queuing" 79discipline. 80.It Dv ALTQ_RED 81Build the 82.Dq "Random Early Detection" 83extension. 84.It Dv ALTQ_RIO 85Build 86.Dq "Random Early Drop" 87for input and output. 88.It Dv ALTQ_HFSC 89Build the 90.Dq "Hierarchical Packet Scheduler" 91discipline. 92.\".It Dv ALTQ_CDNR 93.\"Build the traffic conditioner. 94.\"This option is meaningless at the moment as the conditioner is not used by 95.\"any of the available disciplines or consumers. 96.It Dv ALTQ_PRIQ 97Build the 98.Dq "Priority Queuing" 99discipline. 100.It Dv ALTQ_FAIRQ 101Build the 102.Dq "Fair Queuing" 103discipline. 104.It Dv ALTQ_NOPCC 105Required if the TSC is unusable. 106.It Dv ALTQ_DEBUG 107Enable additional debugging facilities. 108.El 109.Pp 110Note that 111.Nm Ns -disciplines 112cannot be loaded as kernel modules. 113In order to use a certain discipline you have to build it into a custom 114kernel. 115The 116.Xr pf 4 117interface, that is required for the configuration process of 118.Nm 119can be loaded as a module. 120.Sh SEE ALSO 121.Xr pf 4 , 122.Xr pf.conf 5 , 123.Xr ipfw 8 , 124.Xr pfctl 8 , 125.Xr altq 9 126