]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/man/man4/altq.4
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / man / man4 / altq.4
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
44 The
45 .Nm
46 framework provides several disciplines for queuing outgoing network packets.
47 This is done by modifications to the interface packet queues.
48 See
49 .Xr altq 9
50 for details.
51 .Pp
52 The user interface for
53 .Nm
54 is implemented by the
55 .Xr pfctl 8
56 utility, so please refer to the
57 .Xr pfctl 8
58 and the
59 .Xr pf.conf 5
60 manpages for a complete description of the
61 .Nm
62 capabilities and how to use it.
63 .Ss Kernel Options
64 The following options in the kernel configuration file are related to
65 .Nm
66 operation:
67 .Pp
68 .Bl -tag -width ".Dv ALTQ_DEBUG" -compact
69 .It Dv ALTQ
70 Enable
71 .Nm .
72 .It Dv ALTQ_CBQ
73 Build the
74 .Dq "Class Based Queuing"
75 discipline.
76 .It Dv ALTQ_RED
77 Build the
78 .Dq "Random Early Detection"
79 extension.
80 .It Dv ALTQ_RIO
81 Build
82 .Dq "Random Early Drop"
83 for input and output.
84 .It Dv ALTQ_HFSC
85 Build the
86 .Dq "Hierarchical Packet Scheduler"
87 discipline.
88 .It Dv ALTQ_CDNR
89 Build the traffic conditioner.
90 This option is meaningless at the moment as the conditioner is not used by
91 any of the available disciplines or consumers.
92 .It Dv ALTQ_PRIQ
93 Build the
94 .Dq "Priority Queuing"
95 discipline.
96 .It Dv ALTQ_NOPCC
97 Required if the TSC is unusable.
98 .It Dv ALTQ_DEBUG
99 Enable additional debugging facilities.
100 .El
101 .Pp
102 Note that
103 .Nm Ns -disciplines
104 cannot be loaded as kernel modules.
105 In order to use a certain discipline you have to build it into a custom
106 kernel.
107 The
108 .Xr pf 4
109 interface, that is required for the configuration process of
110 .Nm
111 can be loaded as a module.
112 .Sh SUPPORTED DEVICES
113 The driver modifications described in
114 .Xr altq 9
115 are required to use a certain network card with
116 .Nm .
117 They 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 bxe 4 ,
130 .Xr cas 4 ,
131 .Xr cxgbe 4 ,
132 .Xr dc 4 ,
133 .Xr de 4 ,
134 .Xr ed 4 ,
135 .Xr em 4 ,
136 .Xr ep 4 ,
137 .Xr epair 4 ,
138 .Xr et 4 ,
139 .Xr fxp 4 ,
140 .Xr gem 4 ,
141 .Xr hme 4 ,
142 .Xr igb 4 ,
143 .Xr ipw 4 ,
144 .Xr iwi 4 ,
145 .Xr ixgbe 4 ,
146 .Xr jme 4 ,
147 .Xr le 4 ,
148 .Xr msk 4 ,
149 .Xr mxge 4 ,
150 .Xr my 4 ,
151 .Xr nfe 4 ,
152 .Xr nge 4 ,
153 .Xr npe 4 ,
154 .Xr nve 4 ,
155 .Xr qlxgb 4 ,
156 .Xr ral 4 ,
157 .Xr re 4 ,
158 .Xr rl 4 ,
159 .Xr rum 4 ,
160 .Xr sf 4 ,
161 .Xr sge 4 ,
162 .Xr sis 4 ,
163 .Xr sk 4 ,
164 .Xr ste 4 ,
165 .Xr stge 4 ,
166 .Xr ti 4 ,
167 .Xr txp 4 ,
168 .Xr udav 4 ,
169 .Xr ural 4 ,
170 .Xr vge 4 ,
171 .Xr vr 4 ,
172 .Xr vte 4 ,
173 .Xr wi 4 ,
174 and
175 .Xr xl 4 .
176 .Pp
177 The
178 .Xr ndis 4
179 framework also has support for
180 .Nm
181 and thus all encapsulated drivers.
182 .Pp
183 The
184 .Xr tun 4
185 and
186 .Xr ng_iface 4
187 pseudo drivers also do support
188 .Nm .
189 .Sh SEE ALSO
190 .Xr pf 4 ,
191 .Xr pf.conf 5 ,
192 .Xr ipfw 8 ,
193 .Xr pfctl 8 ,
194 .Xr altq 9