Blame view

net/sched/Kconfig 18.2 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
  #
  # Traffic control configuration.
  # 
6a2e9b738   Sam Ravnborg   [NET]: move confi...
4

85ef3e5ca   Randy Dunlap   [NET]: QoS/Sched ...
5
  menuconfig NET_SCHED
6a2e9b738   Sam Ravnborg   [NET]: move confi...
6
  	bool "QoS and/or fair queueing"
3c62f75aa   David Kimdon   [PKT_SCHED]: Make...
7
  	select NET_SCH_FIFO
6a2e9b738   Sam Ravnborg   [NET]: move confi...
8
9
10
  	---help---
  	  When the kernel has several packets to send out over a network
  	  device, it has to decide which ones to send first, which ones to
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
11
12
  	  delay, and which ones to drop. This is the job of the queueing
  	  disciplines, several different algorithms for how to do this
6a2e9b738   Sam Ravnborg   [NET]: move confi...
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  	  "fairly" have been proposed.
  
  	  If you say N here, you will get the standard packet scheduler, which
  	  is a FIFO (first come, first served). If you say Y here, you will be
  	  able to choose from among several alternative algorithms which can
  	  then be attached to different network devices. This is useful for
  	  example if some of your network devices are real time devices that
  	  need a certain minimum data flow rate, or if you need to limit the
  	  maximum data flow rate for traffic which matches specified criteria.
  	  This code is considered to be experimental.
  
  	  To administer these schedulers, you'll need the user-level utilities
  	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
  	  That package also contains some documentation; for more, check out
c996d8b9a   Michael Witten   Docs/Kconfig: Upd...
27
  	  <http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2>.
6a2e9b738   Sam Ravnborg   [NET]: move confi...
28
29
30
  
  	  This Quality of Service (QoS) support will enable you to use
  	  Differentiated Services (diffserv) and Resource Reservation Protocol
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
31
32
33
  	  (RSVP) on your Linux router if you also say Y to the corresponding
  	  classifiers below.  Documentation and software is at
  	  <http://diffserv.sourceforge.net/>.
6a2e9b738   Sam Ravnborg   [NET]: move confi...
34
35
36
37
38
39
40
  
  	  If you say Y here and to "/proc file system" below, you will be able
  	  to read status information about packet schedulers from the file
  	  /proc/net/psched.
  
  	  The available schedulers are listed in the following questions; you
  	  can say Y to as many as you like. If unsure, say N now.
05b8b0faf   Roman Zippel   [NET]: Sanitize N...
41
  if NET_SCHED
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
42
  comment "Queueing/Scheduling"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
43

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
44
  config NET_SCH_CBQ
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
45
  	tristate "Class Based Queueing (CBQ)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
46
47
  	---help---
  	  Say Y here if you want to use the Class-Based Queueing (CBQ) packet
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
48
49
50
  	  scheduling algorithm. This algorithm classifies the waiting packets
  	  into a tree-like hierarchy of classes; the leaves of this tree are
  	  in turn scheduled by separate algorithms.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
51

52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
52
  	  See the top of <file:net/sched/sch_cbq.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
53
54
55
  
  	  CBQ is a commonly used scheduler, so if you're unsure, you should
  	  say Y here. Then say Y to all the queueing algorithms below that you
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
56
  	  want to use as leaf disciplines.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57
58
59
60
61
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_cbq.
  
  config NET_SCH_HTB
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
62
  	tristate "Hierarchical Token Bucket (HTB)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
63
64
  	---help---
  	  Say Y here if you want to use the Hierarchical Token Buckets (HTB)
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
65
  	  packet scheduling algorithm. See
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
66
67
  	  <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and
  	  in-depth articles.
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
68
  	  HTB is very similar to CBQ regarding its goals however is has
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
69
70
71
72
73
74
  	  different properties and different algorithm.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_htb.
  
  config NET_SCH_HFSC
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
75
  	tristate "Hierarchical Fair Service Curve (HFSC)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
76
77
  	---help---
  	  Say Y here if you want to use the Hierarchical Fair Service Curve
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
78
  	  (HFSC) packet scheduling algorithm.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
79
80
81
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_hfsc.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
82
  config NET_SCH_ATM
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
83
  	tristate "ATM Virtual Circuits (ATM)"
05b8b0faf   Roman Zippel   [NET]: Sanitize N...
84
  	depends on ATM
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
85
86
  	---help---
  	  Say Y here if you want to use the ATM pseudo-scheduler.  This
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
87
88
89
  	  provides a framework for invoking classifiers, which in turn
  	  select classes of this queuing discipline.  Each class maps
  	  the flow(s) it is handling to a given virtual circuit.
99acaeb92   Gabriel Craciunescu   [PKT_SCHED]: Some...
90
  	  See the top of <file:net/sched/sch_atm.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
91
92
93
94
95
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_atm.
  
  config NET_SCH_PRIO
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
96
  	tristate "Multi Band Priority Queueing (PRIO)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
97
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
98
  	  Say Y here if you want to use an n-band priority queue packet
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
99
  	  scheduler.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
100
101
102
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_prio.
92651940a   Alexander Duyck   pkt_sched: Add mu...
103
104
105
106
107
108
109
110
  config NET_SCH_MULTIQ
  	tristate "Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)"
  	---help---
  	  Say Y here if you want to use an n-band queue packet scheduler
  	  to support devices that have multiple hardware transmit queues.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_multiq.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
111
  config NET_SCH_RED
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
112
  	tristate "Random Early Detection (RED)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
113
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
114
  	  Say Y here if you want to use the Random Early Detection (RED)
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
115
116
117
  	  packet scheduling algorithm.
  
  	  See the top of <file:net/sched/sch_red.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
118
119
120
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_red.
e13e02a3c   Eric Dumazet   net_sched: SFB fl...
121
122
123
124
125
126
127
128
129
130
  config NET_SCH_SFB
  	tristate "Stochastic Fair Blue (SFB)"
  	---help---
  	  Say Y here if you want to use the Stochastic Fair Blue (SFB)
  	  packet scheduling algorithm.
  
  	  See the top of <file:net/sched/sch_sfb.c> for more details.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_sfb.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
131
  config NET_SCH_SFQ
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
132
  	tristate "Stochastic Fairness Queueing (SFQ)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
133
134
  	---help---
  	  Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
99acaeb92   Gabriel Craciunescu   [PKT_SCHED]: Some...
135
  	  packet scheduling algorithm.
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
136
137
  
  	  See the top of <file:net/sched/sch_sfq.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
138
139
140
141
142
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_sfq.
  
  config NET_SCH_TEQL
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
143
  	tristate "True Link Equalizer (TEQL)"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
144
145
  	---help---
  	  Say Y here if you want to use the True Link Equalizer (TLE) packet
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
146
147
148
149
  	  scheduling algorithm. This queueing discipline allows the combination
  	  of several physical devices into one virtual device.
  
  	  See the top of <file:net/sched/sch_teql.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
150
151
152
153
154
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_teql.
  
  config NET_SCH_TBF
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
155
  	tristate "Token Bucket Filter (TBF)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
156
157
158
159
160
  	---help---
  	  Say Y here if you want to use the Token Bucket Filter (TBF) packet
  	  scheduling algorithm.
  
  	  See the top of <file:net/sched/sch_tbf.c> for more details.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
161
162
163
164
165
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_tbf.
  
  config NET_SCH_GRED
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
166
  	tristate "Generic Random Early Detection (GRED)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
167
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
168
  	  Say Y here if you want to use the Generic Random Early Detection
20cc6befa   Lucas Correia Villa Real   [PKT_SCHED]: fix ...
169
  	  (GRED) packet scheduling algorithm for some of your network devices
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
170
171
172
173
174
175
176
  	  (see the top of <file:net/sched/sch_red.c> for details and
  	  references about the algorithm).
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_gred.
  
  config NET_SCH_DSMARK
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
177
  	tristate "Differentiated Services marker (DSMARK)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
178
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
179
180
181
182
183
184
185
186
187
  	  Say Y if you want to schedule packets according to the
  	  Differentiated Services architecture proposed in RFC 2475.
  	  Technical information on this method, with pointers to associated
  	  RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_dsmark.
  
  config NET_SCH_NETEM
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
188
  	tristate "Network emulator (NETEM)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
189
  	---help---
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
190
191
192
193
194
195
196
197
  	  Say Y if you want to emulate network delay, loss, and packet
  	  re-ordering. This is often useful to simulate networks when
  	  testing applications or protocols.
  
  	  To compile this driver as a module, choose M here: the module
  	  will be called sch_netem.
  
  	  If unsure, say N.
13d2a1d2b   Patrick McHardy   pkt_sched: add DR...
198
199
200
201
202
203
204
205
206
207
  config NET_SCH_DRR
  	tristate "Deficit Round Robin scheduler (DRR)"
  	help
  	  Say Y here if you want to use the Deficit Round Robin (DRR) packet
  	  scheduling algorithm.
  
  	  To compile this driver as a module, choose M here: the module
  	  will be called sch_drr.
  
  	  If unsure, say N.
b8970f0bf   John Fastabend   net_sched: implem...
208
209
210
211
212
213
214
215
216
217
218
  config NET_SCH_MQPRIO
  	tristate "Multi-queue priority scheduler (MQPRIO)"
  	help
  	  Say Y here if you want to use the Multi-queue Priority scheduler.
  	  This scheduler allows QOS to be offloaded on NICs that have support
  	  for offloading QOS schedulers.
  
  	  To compile this driver as a module, choose M here: the module will
  	  be called sch_mqprio.
  
  	  If unsure, say N.
45e144339   stephen hemminger   sched: CHOKe flow...
219
220
221
222
223
224
225
226
227
228
  config NET_SCH_CHOKE
  	tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
  	help
  	  Say Y here if you want to use the CHOKe packet scheduler (CHOose
  	  and Keep for responsive flows, CHOose and Kill for unresponsive
  	  flows). This is a variation of RED which trys to penalize flows
  	  that monopolize the queue.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_choke.
0545a3037   stephen hemminger   pkt_sched: QFQ - ...
229
230
231
232
233
234
235
236
237
238
  config NET_SCH_QFQ
  	tristate "Quick Fair Queueing scheduler (QFQ)"
  	help
  	  Say Y here if you want to use the Quick Fair Queueing Scheduler (QFQ)
  	  packet scheduling algorithm.
  
  	  To compile this driver as a module, choose M here: the module
  	  will be called sch_qfq.
  
  	  If unsure, say N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
239
240
  config NET_SCH_INGRESS
  	tristate "Ingress Qdisc"
72eb7bd26   Patrick McHardy   [NET_SCHED]: sch_...
241
  	depends on NET_CLS_ACT
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
242
243
  	---help---
  	  Say Y here if you want to use classifiers for incoming packets.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
244
245
246
247
  	  If unsure, say Y.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_ingress.
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
248
  comment "Classification"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
249
250
  
  config NET_CLS
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
251
  	boolean
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
252
253
  
  config NET_CLS_BASIC
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
254
  	tristate "Elementary classification (BASIC)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
255
  	select NET_CLS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
256
257
258
259
260
261
262
263
  	---help---
  	  Say Y here if you want to be able to classify packets using
  	  only extended matches and actions.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_basic.
  
  config NET_CLS_TCINDEX
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
264
  	tristate "Traffic-Control Index (TCINDEX)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
265
266
267
268
269
  	select NET_CLS
  	---help---
  	  Say Y here if you want to be able to classify packets based on
  	  traffic control indices. You will want this feature if you want
  	  to implement Differentiated Services together with DSMARK.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
270
271
272
273
274
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_tcindex.
  
  config NET_CLS_ROUTE4
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
275
  	tristate "Routing decision (ROUTE)"
034cfe48d   Randy Dunlap   networking: NET_C...
276
  	depends on INET
c7066f70d   Patrick McHardy   netfilter: fix Kc...
277
  	select IP_ROUTE_CLASSID
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
278
279
280
281
  	select NET_CLS
  	---help---
  	  If you say Y here, you will be able to classify packets
  	  according to the route table entry they matched.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
282
283
284
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_route.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
285
  config NET_CLS_FW
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
286
  	tristate "Netfilter mark (FW)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
287
288
289
290
  	select NET_CLS
  	---help---
  	  If you say Y here, you will be able to classify packets
  	  according to netfilter/firewall marks.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
291
292
293
294
295
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_fw.
  
  config NET_CLS_U32
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
296
  	tristate "Universal 32bit comparisons w/ hashing (U32)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
297
298
  	select NET_CLS
  	---help---
3539c272f   Matt LaPlante   Kconfig: Typos in...
299
  	  Say Y here to be able to classify packets using a universal
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
300
  	  32bit pieces based comparison scheme.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
301
302
303
304
305
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_u32.
  
  config CLS_U32_PERF
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
306
  	bool "Performance counters support"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
307
  	depends on NET_CLS_U32
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
308
309
310
  	---help---
  	  Say Y here to make u32 gather additional statistics useful for
  	  fine tuning u32 classifiers.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
311
312
  
  config CLS_U32_MARK
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
313
  	bool "Netfilter marks support"
82e91ffef   Thomas Graf   [NET]: Turn nfmar...
314
  	depends on NET_CLS_U32
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
315
316
  	---help---
  	  Say Y here to be able to use netfilter marks as u32 key.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
317
318
  
  config NET_CLS_RSVP
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
319
  	tristate "IPv4 Resource Reservation Protocol (RSVP)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
320
  	select NET_CLS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
321
322
323
324
325
326
327
328
329
330
331
332
  	---help---
  	  The Resource Reservation Protocol (RSVP) permits end systems to
  	  request a minimum and maximum data flow rate for a connection; this
  	  is important for real time data such as streaming sound or video.
  
  	  Say Y here if you want to be able to classify outgoing packets based
  	  on their RSVP requests.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_rsvp.
  
  config NET_CLS_RSVP6
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
333
  	tristate "IPv6 Resource Reservation Protocol (RSVP6)"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
334
  	select NET_CLS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
335
336
337
338
339
340
  	---help---
  	  The Resource Reservation Protocol (RSVP) permits end systems to
  	  request a minimum and maximum data flow rate for a connection; this
  	  is important for real time data such as streaming sound or video.
  
  	  Say Y here if you want to be able to classify outgoing packets based
99acaeb92   Gabriel Craciunescu   [PKT_SCHED]: Some...
341
  	  on their RSVP requests and you are using the IPv6 protocol.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
342
343
344
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_rsvp6.
e5dfb8151   Patrick McHardy   [NET_SCHED]: Add ...
345
346
347
348
349
350
351
352
353
354
  config NET_CLS_FLOW
  	tristate "Flow classifier"
  	select NET_CLS
  	---help---
  	  If you say Y here, you will be able to classify packets based on
  	  a configurable combination of packet keys. This is mostly useful
  	  in combination with SFQ.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_flow.
f40092373   Thomas Graf   pkt_sched: Contro...
355
  config NET_CLS_CGROUP
8e039d84b   Ben Blum   cgroups: net_cls ...
356
  	tristate "Control Group Classifier"
f40092373   Thomas Graf   pkt_sched: Contro...
357
358
359
360
361
  	select NET_CLS
  	depends on CGROUPS
  	---help---
  	  Say Y here if you want to classify packets based on the control
  	  cgroup of their process.
8e039d84b   Ben Blum   cgroups: net_cls ...
362
363
  	  To compile this code as a module, choose M here: the
  	  module will be called cls_cgroup.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
364
365
  config NET_EMATCH
  	bool "Extended Matches"
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
366
  	select NET_CLS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
367
368
369
370
371
  	---help---
  	  Say Y here if you want to use extended matches on top of classifiers
  	  and select the extended matches below.
  
  	  Extended matches are small classification helpers not worth writing
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
372
  	  a separate classifier for.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
373

52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
374
  	  A recent version of the iproute2 package is required to use
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
375
376
377
378
379
380
381
382
383
  	  extended matches.
  
  config NET_EMATCH_STACK
  	int "Stack size"
  	depends on NET_EMATCH
  	default "32"
  	---help---
  	  Size of the local stack variable used while evaluating the tree of
  	  ematches. Limits the depth of the tree, i.e. the number of
b824979ae   Thomas Graf   [PKT_SCHED]: Fix ...
384
  	  encapsulated precedences. Every level requires 4 bytes of additional
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
  	  stack space.
  
  config NET_EMATCH_CMP
  	tristate "Simple packet data comparison"
  	depends on NET_EMATCH
  	---help---
  	  Say Y here if you want to be able to classify packets based on
  	  simple packet data comparisons for 8, 16, and 32bit values.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called em_cmp.
  
  config NET_EMATCH_NBYTE
  	tristate "Multi byte comparison"
  	depends on NET_EMATCH
  	---help---
  	  Say Y here if you want to be able to classify packets based on
  	  multiple byte comparisons mainly useful for IPv6 address comparisons.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called em_nbyte.
  
  config NET_EMATCH_U32
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
408
  	tristate "U32 key"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
409
410
411
412
413
414
415
416
417
418
419
420
  	depends on NET_EMATCH
  	---help---
  	  Say Y here if you want to be able to classify packets using
  	  the famous u32 key in combination with logic relations.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called em_u32.
  
  config NET_EMATCH_META
  	tristate "Metadata"
  	depends on NET_EMATCH
  	---help---
bb7e8c5a5   Adrian Bunk   [PKT_SCHED] net/s...
421
  	  Say Y here if you want to be able to classify packets based on
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
422
423
424
425
426
  	  metadata such as load average, netfilter attributes, socket
  	  attributes and routing decisions.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called em_meta.
d675c989e   Thomas Graf   [PKT_SCHED]: Pack...
427
428
429
  config NET_EMATCH_TEXT
  	tristate "Textsearch"
  	depends on NET_EMATCH
f2d368fa3   David S. Miller   [PKT_SCHED]: Make...
430
  	select TEXTSEARCH
f7704347a   David S. Miller   [PKT_SCHED]: Make...
431
  	select TEXTSEARCH_KMP
29cb9f9c5   David S. Miller   [LIB]: Make TEXTS...
432
  	select TEXTSEARCH_BM
f7704347a   David S. Miller   [PKT_SCHED]: Make...
433
  	select TEXTSEARCH_FSM
d675c989e   Thomas Graf   [PKT_SCHED]: Pack...
434
  	---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
435
  	  Say Y here if you want to be able to classify packets based on
f7704347a   David S. Miller   [PKT_SCHED]: Make...
436
  	  textsearch comparisons.
d675c989e   Thomas Graf   [PKT_SCHED]: Pack...
437
438
439
  
  	  To compile this code as a module, choose M here: the
  	  module will be called em_text.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
440
  config NET_CLS_ACT
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
441
  	bool "Actions"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
442
  	---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
443
444
445
446
447
448
449
  	  Say Y here if you want to use traffic control actions. Actions
  	  get attached to classifiers and are invoked after a successful
  	  classification. They are used to overwrite the classification
  	  result, instantly drop or redirect packets, etc.
  
  	  A recent version of the iproute2 package is required to use
  	  extended matches.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
450
451
  
  config NET_ACT_POLICE
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
452
  	tristate "Traffic Policing"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
453
454
          depends on NET_CLS_ACT 
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
455
456
457
458
459
  	  Say Y here if you want to do traffic policing, i.e. strict
  	  bandwidth limiting. This action replaces the existing policing
  	  module.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
460
  	  module will be called act_police.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
461
462
  
  config NET_ACT_GACT
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
463
          tristate "Generic actions"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
464
465
          depends on NET_CLS_ACT
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
466
467
468
469
  	  Say Y here to take generic actions such as dropping and
  	  accepting packets.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
470
  	  module will be called act_gact.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
471
472
  
  config GACT_PROB
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
473
          bool "Probability support"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
474
475
          depends on NET_ACT_GACT
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
476
  	  Say Y here to use the generic action randomly or deterministically.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
477
478
  
  config NET_ACT_MIRRED
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
479
          tristate "Redirecting and Mirroring"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
480
481
          depends on NET_CLS_ACT
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
482
483
484
485
  	  Say Y here to allow packets to be mirrored or redirected to
  	  other devices.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
486
  	  module will be called act_mirred.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
487
488
  
  config NET_ACT_IPT
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
489
          tristate "IPtables targets"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
490
491
          depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
          ---help---
3539c272f   Matt LaPlante   Kconfig: Typos in...
492
  	  Say Y here to be able to invoke iptables targets after successful
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
493
494
495
  	  classification.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
496
  	  module will be called act_ipt.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
497

b42199523   Herbert Xu   [PKT_SCHED]: Add ...
498
499
500
  config NET_ACT_NAT
          tristate "Stateless NAT"
          depends on NET_CLS_ACT
b42199523   Herbert Xu   [PKT_SCHED]: Add ...
501
502
503
504
505
          ---help---
  	  Say Y here to do stateless NAT on IPv4 packets.  You should use
  	  netfilter for NAT unless you know what you are doing.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
506
  	  module will be called act_nat.
b42199523   Herbert Xu   [PKT_SCHED]: Add ...
507

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
508
  config NET_ACT_PEDIT
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
509
          tristate "Packet Editing"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
510
511
          depends on NET_CLS_ACT
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
512
  	  Say Y here if you want to mangle the content of packets.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
513

52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
514
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
515
  	  module will be called act_pedit.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
516

db7530797   Jamal Hadi Salim   [PKT_SCHED]: Intr...
517
  config NET_ACT_SIMP
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
518
          tristate "Simple Example (Debug)"
db7530797   Jamal Hadi Salim   [PKT_SCHED]: Intr...
519
520
          depends on NET_CLS_ACT
          ---help---
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
521
522
523
524
525
526
527
528
  	  Say Y here to add a simple action for demonstration purposes.
  	  It is meant as an example and for debugging purposes. It will
  	  print a configured policy string followed by the packet count
  	  to the console for every packet that passes by.
  
  	  If unsure, say N.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
529
  	  module will be called act_simple.
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
530

ca9b0e27e   Alexander Duyck   pkt_action: add n...
531
532
533
534
535
536
537
538
539
  config NET_ACT_SKBEDIT
          tristate "SKB Editing"
          depends on NET_CLS_ACT
          ---help---
  	  Say Y here to change skb priority or queue_mapping settings.
  
  	  If unsure, say N.
  
  	  To compile this code as a module, choose M here: the
d4ae20b37   Jan Luebbe   net/sched: Fix mo...
540
  	  module will be called act_skbedit.
ca9b0e27e   Alexander Duyck   pkt_action: add n...
541

eb4d40654   GrĂ©goire Baron   net/sched: add AC...
542
543
  config NET_ACT_CSUM
          tristate "Checksum Updating"
7abac6860   David S. Miller   pkt_sched: Make a...
544
          depends on NET_CLS_ACT && INET
eb4d40654   GrĂ©goire Baron   net/sched: add AC...
545
546
547
548
549
550
          ---help---
  	  Say Y here to update some common checksum after some direct
  	  packet alterations.
  
  	  To compile this code as a module, choose M here: the
  	  module will be called act_csum.
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
551
552
  config NET_CLS_IND
  	bool "Incoming device classification"
05b8b0faf   Roman Zippel   [NET]: Sanitize N...
553
  	depends on NET_CLS_U32 || NET_CLS_FW
52ab4ac25   Thomas Graf   [PKT_SCHED]: Rewo...
554
555
556
557
  	---help---
  	  Say Y here to extend the u32 and fw classifier to support
  	  classification based on the incoming device. This option is
  	  likely to disappear in favour of the metadata ematch.
05b8b0faf   Roman Zippel   [NET]: Sanitize N...
558
  endif # NET_SCHED
85ef3e5ca   Randy Dunlap   [NET]: QoS/Sched ...
559
560
  config NET_SCH_FIFO
  	bool