xref: /freebsd/share/man/man4/altq.4 (revision 63f9a4cb2684a303e3eb2ffed39c03a2e2b28ae0)
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 November 21, 2004
29.Dt ALTQ 4
30.Os
31.Sh NAME
32.Nm ALTQ
33.Nd Alternate queuing of network packets
34.Sh DESCRIPTION
35The
36.Nm
37framework provides several disciplines for queuing outgoing network packets.
38This is done by modifications to the interface packet queues.
39See
40.Xr altq 9
41for details.
42.Pp
43The user interface for
44.Nm
45is implemented by the
46.Xr pfctl 8
47utility, so please refer to the
48.Xr pfctl 8
49and the
50.Xr pf.conf 5
51manpages for a complete description of the
52.Nm
53capabilities and how to use it.
54.Ss Kernel Options
55The following options in the kernel configuration file are related to
56.Nm
57operation:
58.Pp
59.Bl -tag -width ".Dv ALTQ_DEBUG" -compact
60.It Dv ALTQ
61enable
62.Nm
63.It Dv ALTQ_CBQ
64build the
65.Dq "Class Based Queuing"
66discipline.
67.It Dv ALTQ_RED
68build the
69.Dq "Random Early Drop"
70extension.
71.It Dv ALTQ_RIO
72build
73.Dq "Random Early Drop"
74for input and output.
75.It Dv ALTQ_HFSC
76build the
77.Dq "Hierarchical Packet Scheduler"
78discipline.
79.It Dv ALTQ_CDNR
80build the traffic conditioner.
81This option is meaningless at the moment as the conditioner is not used by
82any of the available disciplines or consumers.
83.It Dv ALTQ_PRIQ
84build the
85.Dq "Priority Queuing"
86discipline.
87.It Dv ALTQ_NOPCC
88required for SMP builds.
89.It Dv ALTQ_DEBUG
90enable additional debugging facilities.
91.El
92.Pp
93Note that
94.Nm Ns -disciplines
95cannot be loaded as kernel modules.
96In order to use a certain discipline you have to build it into a custom
97kernel.
98The
99.Xr pf 4
100interface, that is required for the configuration process of
101.Nm
102can be loaded as a module.
103.Sh SUPPORTED DEVICES
104The driver modifications described in
105.Xr altq 9
106are required to use a certain network card with
107.Nm .
108They have been applied to the following hardware drivers:
109.Xr an 4 ,
110.Xr ath 4 ,
111.Xr awi 4 ,
112.Xr bfe 4 ,
113.Xr bge 4 ,
114.Xr dc 4 ,
115.Xr ed 4 ,
116.Xr em 4 ,
117.Xr fxp 4 ,
118.Xr hme 4 ,
119.Xr lnc 4 ,
120.Xr wi 4 ,
121.Xr de 4 ,
122.Xr rl 4 ,
123.Xr sf 4 ,
124.Xr sis 4 ,
125.Xr vr 4
126and
127.Xr xl 4 .
128.Pp
129The
130.Xr ndis 4
131framework also has support for
132.Nm
133and thus all encapsulated drivers.
134.Pp
135The
136.Xr tun 4
137pseudo driver also does support
138.Nm
139and includes the required modifications.
140.Sh SEE ALSO
141.Xr pf 4 ,
142.Xr pf.conf 5 ,
143.Xr ipfw 8 ,
144.Xr pfctl 8 ,
145.Xr altq 9 .
146