]> Git Repo - linux.git/blob - net/sched/Kconfig
net/sched: Introduce the ETF Qdisc
[linux.git] / net / sched / Kconfig
1 #
2 # Traffic control configuration.
3
4
5 menuconfig NET_SCHED
6         bool "QoS and/or fair queueing"
7         select NET_SCH_FIFO
8         ---help---
9           When the kernel has several packets to send out over a network
10           device, it has to decide which ones to send first, which ones to
11           delay, and which ones to drop. This is the job of the queueing
12           disciplines, several different algorithms for how to do this
13           "fairly" have been proposed.
14
15           If you say N here, you will get the standard packet scheduler, which
16           is a FIFO (first come, first served). If you say Y here, you will be
17           able to choose from among several alternative algorithms which can
18           then be attached to different network devices. This is useful for
19           example if some of your network devices are real time devices that
20           need a certain minimum data flow rate, or if you need to limit the
21           maximum data flow rate for traffic which matches specified criteria.
22           This code is considered to be experimental.
23
24           To administer these schedulers, you'll need the user-level utilities
25           from the package iproute2+tc at
26           <https://www.kernel.org/pub/linux/utils/net/iproute2/>.  That package
27           also contains some documentation; for more, check out
28           <http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2>.
29
30           This Quality of Service (QoS) support will enable you to use
31           Differentiated Services (diffserv) and Resource Reservation Protocol
32           (RSVP) on your Linux router if you also say Y to the corresponding
33           classifiers below.  Documentation and software is at
34           <http://diffserv.sourceforge.net/>.
35
36           If you say Y here and to "/proc file system" below, you will be able
37           to read status information about packet schedulers from the file
38           /proc/net/psched.
39
40           The available schedulers are listed in the following questions; you
41           can say Y to as many as you like. If unsure, say N now.
42
43 if NET_SCHED
44
45 comment "Queueing/Scheduling"
46
47 config NET_SCH_CBQ
48         tristate "Class Based Queueing (CBQ)"
49         ---help---
50           Say Y here if you want to use the Class-Based Queueing (CBQ) packet
51           scheduling algorithm. This algorithm classifies the waiting packets
52           into a tree-like hierarchy of classes; the leaves of this tree are
53           in turn scheduled by separate algorithms.
54
55           See the top of <file:net/sched/sch_cbq.c> for more details.
56
57           CBQ is a commonly used scheduler, so if you're unsure, you should
58           say Y here. Then say Y to all the queueing algorithms below that you
59           want to use as leaf disciplines.
60
61           To compile this code as a module, choose M here: the
62           module will be called sch_cbq.
63
64 config NET_SCH_HTB
65         tristate "Hierarchical Token Bucket (HTB)"
66         ---help---
67           Say Y here if you want to use the Hierarchical Token Buckets (HTB)
68           packet scheduling algorithm. See
69           <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and
70           in-depth articles.
71
72           HTB is very similar to CBQ regarding its goals however is has
73           different properties and different algorithm.
74
75           To compile this code as a module, choose M here: the
76           module will be called sch_htb.
77
78 config NET_SCH_HFSC
79         tristate "Hierarchical Fair Service Curve (HFSC)"
80         ---help---
81           Say Y here if you want to use the Hierarchical Fair Service Curve
82           (HFSC) packet scheduling algorithm.
83
84           To compile this code as a module, choose M here: the
85           module will be called sch_hfsc.
86
87 config NET_SCH_ATM
88         tristate "ATM Virtual Circuits (ATM)"
89         depends on ATM
90         ---help---
91           Say Y here if you want to use the ATM pseudo-scheduler.  This
92           provides a framework for invoking classifiers, which in turn
93           select classes of this queuing discipline.  Each class maps
94           the flow(s) it is handling to a given virtual circuit.
95
96           See the top of <file:net/sched/sch_atm.c> for more details.
97
98           To compile this code as a module, choose M here: the
99           module will be called sch_atm.
100
101 config NET_SCH_PRIO
102         tristate "Multi Band Priority Queueing (PRIO)"
103         ---help---
104           Say Y here if you want to use an n-band priority queue packet
105           scheduler.
106
107           To compile this code as a module, choose M here: the
108           module will be called sch_prio.
109
110 config NET_SCH_MULTIQ
111         tristate "Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)"
112         ---help---
113           Say Y here if you want to use an n-band queue packet scheduler
114           to support devices that have multiple hardware transmit queues.
115
116           To compile this code as a module, choose M here: the
117           module will be called sch_multiq.
118
119 config NET_SCH_RED
120         tristate "Random Early Detection (RED)"
121         ---help---
122           Say Y here if you want to use the Random Early Detection (RED)
123           packet scheduling algorithm.
124
125           See the top of <file:net/sched/sch_red.c> for more details.
126
127           To compile this code as a module, choose M here: the
128           module will be called sch_red.
129
130 config NET_SCH_SFB
131         tristate "Stochastic Fair Blue (SFB)"
132         ---help---
133           Say Y here if you want to use the Stochastic Fair Blue (SFB)
134           packet scheduling algorithm.
135
136           See the top of <file:net/sched/sch_sfb.c> for more details.
137
138           To compile this code as a module, choose M here: the
139           module will be called sch_sfb.
140
141 config NET_SCH_SFQ
142         tristate "Stochastic Fairness Queueing (SFQ)"
143         ---help---
144           Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
145           packet scheduling algorithm.
146
147           See the top of <file:net/sched/sch_sfq.c> for more details.
148
149           To compile this code as a module, choose M here: the
150           module will be called sch_sfq.
151
152 config NET_SCH_TEQL
153         tristate "True Link Equalizer (TEQL)"
154         ---help---
155           Say Y here if you want to use the True Link Equalizer (TLE) packet
156           scheduling algorithm. This queueing discipline allows the combination
157           of several physical devices into one virtual device.
158
159           See the top of <file:net/sched/sch_teql.c> for more details.
160
161           To compile this code as a module, choose M here: the
162           module will be called sch_teql.
163
164 config NET_SCH_TBF
165         tristate "Token Bucket Filter (TBF)"
166         ---help---
167           Say Y here if you want to use the Token Bucket Filter (TBF) packet
168           scheduling algorithm.
169
170           See the top of <file:net/sched/sch_tbf.c> for more details.
171
172           To compile this code as a module, choose M here: the
173           module will be called sch_tbf.
174
175 config NET_SCH_CBS
176         tristate "Credit Based Shaper (CBS)"
177         ---help---
178           Say Y here if you want to use the Credit Based Shaper (CBS) packet
179           scheduling algorithm.
180
181           See the top of <file:net/sched/sch_cbs.c> for more details.
182
183           To compile this code as a module, choose M here: the
184           module will be called sch_cbs.
185
186 config NET_SCH_ETF
187         tristate "Earliest TxTime First (ETF)"
188         help
189           Say Y here if you want to use the Earliest TxTime First (ETF) packet
190           scheduling algorithm.
191
192           See the top of <file:net/sched/sch_etf.c> for more details.
193
194           To compile this code as a module, choose M here: the
195           module will be called sch_etf.
196
197 config NET_SCH_GRED
198         tristate "Generic Random Early Detection (GRED)"
199         ---help---
200           Say Y here if you want to use the Generic Random Early Detection
201           (GRED) packet scheduling algorithm for some of your network devices
202           (see the top of <file:net/sched/sch_red.c> for details and
203           references about the algorithm).
204
205           To compile this code as a module, choose M here: the
206           module will be called sch_gred.
207
208 config NET_SCH_DSMARK
209         tristate "Differentiated Services marker (DSMARK)"
210         ---help---
211           Say Y if you want to schedule packets according to the
212           Differentiated Services architecture proposed in RFC 2475.
213           Technical information on this method, with pointers to associated
214           RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.
215
216           To compile this code as a module, choose M here: the
217           module will be called sch_dsmark.
218
219 config NET_SCH_NETEM
220         tristate "Network emulator (NETEM)"
221         ---help---
222           Say Y if you want to emulate network delay, loss, and packet
223           re-ordering. This is often useful to simulate networks when
224           testing applications or protocols.
225
226           To compile this driver as a module, choose M here: the module
227           will be called sch_netem.
228
229           If unsure, say N.
230
231 config NET_SCH_DRR
232         tristate "Deficit Round Robin scheduler (DRR)"
233         help
234           Say Y here if you want to use the Deficit Round Robin (DRR) packet
235           scheduling algorithm.
236
237           To compile this driver as a module, choose M here: the module
238           will be called sch_drr.
239
240           If unsure, say N.
241
242 config NET_SCH_MQPRIO
243         tristate "Multi-queue priority scheduler (MQPRIO)"
244         help
245           Say Y here if you want to use the Multi-queue Priority scheduler.
246           This scheduler allows QOS to be offloaded on NICs that have support
247           for offloading QOS schedulers.
248
249           To compile this driver as a module, choose M here: the module will
250           be called sch_mqprio.
251
252           If unsure, say N.
253
254 config NET_SCH_CHOKE
255         tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
256         help
257           Say Y here if you want to use the CHOKe packet scheduler (CHOose
258           and Keep for responsive flows, CHOose and Kill for unresponsive
259           flows). This is a variation of RED which trys to penalize flows
260           that monopolize the queue.
261
262           To compile this code as a module, choose M here: the
263           module will be called sch_choke.
264
265 config NET_SCH_QFQ
266         tristate "Quick Fair Queueing scheduler (QFQ)"
267         help
268           Say Y here if you want to use the Quick Fair Queueing Scheduler (QFQ)
269           packet scheduling algorithm.
270
271           To compile this driver as a module, choose M here: the module
272           will be called sch_qfq.
273
274           If unsure, say N.
275
276 config NET_SCH_CODEL
277         tristate "Controlled Delay AQM (CODEL)"
278         help
279           Say Y here if you want to use the Controlled Delay (CODEL)
280           packet scheduling algorithm.
281
282           To compile this driver as a module, choose M here: the module
283           will be called sch_codel.
284
285           If unsure, say N.
286
287 config NET_SCH_FQ_CODEL
288         tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)"
289         help
290           Say Y here if you want to use the FQ Controlled Delay (FQ_CODEL)
291           packet scheduling algorithm.
292
293           To compile this driver as a module, choose M here: the module
294           will be called sch_fq_codel.
295
296           If unsure, say N.
297
298 config NET_SCH_FQ
299         tristate "Fair Queue"
300         help
301           Say Y here if you want to use the FQ packet scheduling algorithm.
302
303           FQ does flow separation, and is able to respect pacing requirements
304           set by TCP stack into sk->sk_pacing_rate (for localy generated
305           traffic)
306
307           To compile this driver as a module, choose M here: the module
308           will be called sch_fq.
309
310           If unsure, say N.
311
312 config NET_SCH_HHF
313         tristate "Heavy-Hitter Filter (HHF)"
314         help
315           Say Y here if you want to use the Heavy-Hitter Filter (HHF)
316           packet scheduling algorithm.
317
318           To compile this driver as a module, choose M here: the module
319           will be called sch_hhf.
320
321 config NET_SCH_PIE
322         tristate "Proportional Integral controller Enhanced (PIE) scheduler"
323         help
324           Say Y here if you want to use the Proportional Integral controller
325           Enhanced scheduler packet scheduling algorithm.
326           For more information, please see
327           http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
328
329           To compile this driver as a module, choose M here: the module
330           will be called sch_pie.
331
332           If unsure, say N.
333
334 config NET_SCH_INGRESS
335         tristate "Ingress/classifier-action Qdisc"
336         depends on NET_CLS_ACT
337         select NET_INGRESS
338         select NET_EGRESS
339         ---help---
340           Say Y here if you want to use classifiers for incoming and/or outgoing
341           packets. This qdisc doesn't do anything else besides running classifiers,
342           which can also have actions attached to them. In case of outgoing packets,
343           classifiers that this qdisc holds are executed in the transmit path
344           before real enqueuing to an egress qdisc happens.
345
346           If unsure, say Y.
347
348           To compile this code as a module, choose M here: the module will be
349           called sch_ingress with alias of sch_clsact.
350
351 config NET_SCH_PLUG
352         tristate "Plug network traffic until release (PLUG)"
353         ---help---
354
355           This queuing discipline allows userspace to plug/unplug a network
356           output queue, using the netlink interface.  When it receives an
357           enqueue command it inserts a plug into the outbound queue that
358           causes following packets to enqueue until a dequeue command arrives
359           over netlink, causing the plug to be removed and resuming the normal
360           packet flow.
361
362           This module also provides a generic "network output buffering"
363           functionality (aka output commit), wherein upon arrival of a dequeue
364           command, only packets up to the first plug are released for delivery.
365           The Remus HA project uses this module to enable speculative execution
366           of virtual machines by allowing the generated network output to be rolled
367           back if needed.
368
369           For more information, please refer to <http://wiki.xenproject.org/wiki/Remus>
370
371           Say Y here if you are using this kernel for Xen dom0 and
372           want to protect Xen guests with Remus.
373
374           To compile this code as a module, choose M here: the
375           module will be called sch_plug.
376
377 menuconfig NET_SCH_DEFAULT
378         bool "Allow override default queue discipline"
379         ---help---
380           Support for selection of default queuing discipline.
381
382           Nearly all users can safely say no here, and the default
383           of pfifo_fast will be used. Many distributions already set
384           the default value via /proc/sys/net/core/default_qdisc.
385
386           If unsure, say N.
387
388 if NET_SCH_DEFAULT
389
390 choice
391         prompt "Default queuing discipline"
392         default DEFAULT_PFIFO_FAST
393         help
394           Select the queueing discipline that will be used by default
395           for all network devices.
396
397         config DEFAULT_FQ
398                 bool "Fair Queue" if NET_SCH_FQ
399
400         config DEFAULT_CODEL
401                 bool "Controlled Delay" if NET_SCH_CODEL
402
403         config DEFAULT_FQ_CODEL
404                 bool "Fair Queue Controlled Delay" if NET_SCH_FQ_CODEL
405
406         config DEFAULT_SFQ
407                 bool "Stochastic Fair Queue" if NET_SCH_SFQ
408
409         config DEFAULT_PFIFO_FAST
410                 bool "Priority FIFO Fast"
411 endchoice
412
413 config DEFAULT_NET_SCH
414         string
415         default "pfifo_fast" if DEFAULT_PFIFO_FAST
416         default "fq" if DEFAULT_FQ
417         default "fq_codel" if DEFAULT_FQ_CODEL
418         default "sfq" if DEFAULT_SFQ
419         default "pfifo_fast"
420 endif
421
422 comment "Classification"
423
424 config NET_CLS
425         bool
426
427 config NET_CLS_BASIC
428         tristate "Elementary classification (BASIC)"
429         select NET_CLS
430         ---help---
431           Say Y here if you want to be able to classify packets using
432           only extended matches and actions.
433
434           To compile this code as a module, choose M here: the
435           module will be called cls_basic.
436
437 config NET_CLS_TCINDEX
438         tristate "Traffic-Control Index (TCINDEX)"
439         select NET_CLS
440         ---help---
441           Say Y here if you want to be able to classify packets based on
442           traffic control indices. You will want this feature if you want
443           to implement Differentiated Services together with DSMARK.
444
445           To compile this code as a module, choose M here: the
446           module will be called cls_tcindex.
447
448 config NET_CLS_ROUTE4
449         tristate "Routing decision (ROUTE)"
450         depends on INET
451         select IP_ROUTE_CLASSID
452         select NET_CLS
453         ---help---
454           If you say Y here, you will be able to classify packets
455           according to the route table entry they matched.
456
457           To compile this code as a module, choose M here: the
458           module will be called cls_route.
459
460 config NET_CLS_FW
461         tristate "Netfilter mark (FW)"
462         select NET_CLS
463         ---help---
464           If you say Y here, you will be able to classify packets
465           according to netfilter/firewall marks.
466
467           To compile this code as a module, choose M here: the
468           module will be called cls_fw.
469
470 config NET_CLS_U32
471         tristate "Universal 32bit comparisons w/ hashing (U32)"
472         select NET_CLS
473         ---help---
474           Say Y here to be able to classify packets using a universal
475           32bit pieces based comparison scheme.
476
477           To compile this code as a module, choose M here: the
478           module will be called cls_u32.
479
480 config CLS_U32_PERF
481         bool "Performance counters support"
482         depends on NET_CLS_U32
483         ---help---
484           Say Y here to make u32 gather additional statistics useful for
485           fine tuning u32 classifiers.
486
487 config CLS_U32_MARK
488         bool "Netfilter marks support"
489         depends on NET_CLS_U32
490         ---help---
491           Say Y here to be able to use netfilter marks as u32 key.
492
493 config NET_CLS_RSVP
494         tristate "IPv4 Resource Reservation Protocol (RSVP)"
495         select NET_CLS
496         ---help---
497           The Resource Reservation Protocol (RSVP) permits end systems to
498           request a minimum and maximum data flow rate for a connection; this
499           is important for real time data such as streaming sound or video.
500
501           Say Y here if you want to be able to classify outgoing packets based
502           on their RSVP requests.
503
504           To compile this code as a module, choose M here: the
505           module will be called cls_rsvp.
506
507 config NET_CLS_RSVP6
508         tristate "IPv6 Resource Reservation Protocol (RSVP6)"
509         select NET_CLS
510         ---help---
511           The Resource Reservation Protocol (RSVP) permits end systems to
512           request a minimum and maximum data flow rate for a connection; this
513           is important for real time data such as streaming sound or video.
514
515           Say Y here if you want to be able to classify outgoing packets based
516           on their RSVP requests and you are using the IPv6 protocol.
517
518           To compile this code as a module, choose M here: the
519           module will be called cls_rsvp6.
520
521 config NET_CLS_FLOW
522         tristate "Flow classifier"
523         select NET_CLS
524         ---help---
525           If you say Y here, you will be able to classify packets based on
526           a configurable combination of packet keys. This is mostly useful
527           in combination with SFQ.
528
529           To compile this code as a module, choose M here: the
530           module will be called cls_flow.
531
532 config NET_CLS_CGROUP
533         tristate "Control Group Classifier"
534         select NET_CLS
535         select CGROUP_NET_CLASSID
536         depends on CGROUPS
537         ---help---
538           Say Y here if you want to classify packets based on the control
539           cgroup of their process.
540
541           To compile this code as a module, choose M here: the
542           module will be called cls_cgroup.
543
544 config NET_CLS_BPF
545         tristate "BPF-based classifier"
546         select NET_CLS
547         ---help---
548           If you say Y here, you will be able to classify packets based on
549           programmable BPF (JIT'ed) filters as an alternative to ematches.
550
551           To compile this code as a module, choose M here: the module will
552           be called cls_bpf.
553
554 config NET_CLS_FLOWER
555         tristate "Flower classifier"
556         select NET_CLS
557         ---help---
558           If you say Y here, you will be able to classify packets based on
559           a configurable combination of packet keys and masks.
560
561           To compile this code as a module, choose M here: the module will
562           be called cls_flower.
563
564 config NET_CLS_MATCHALL
565         tristate "Match-all classifier"
566         select NET_CLS
567         ---help---
568           If you say Y here, you will be able to classify packets based on
569           nothing. Every packet will match.
570
571           To compile this code as a module, choose M here: the module will
572           be called cls_matchall.
573
574 config NET_EMATCH
575         bool "Extended Matches"
576         select NET_CLS
577         ---help---
578           Say Y here if you want to use extended matches on top of classifiers
579           and select the extended matches below.
580
581           Extended matches are small classification helpers not worth writing
582           a separate classifier for.
583
584           A recent version of the iproute2 package is required to use
585           extended matches.
586
587 config NET_EMATCH_STACK
588         int "Stack size"
589         depends on NET_EMATCH
590         default "32"
591         ---help---
592           Size of the local stack variable used while evaluating the tree of
593           ematches. Limits the depth of the tree, i.e. the number of
594           encapsulated precedences. Every level requires 4 bytes of additional
595           stack space.
596
597 config NET_EMATCH_CMP
598         tristate "Simple packet data comparison"
599         depends on NET_EMATCH
600         ---help---
601           Say Y here if you want to be able to classify packets based on
602           simple packet data comparisons for 8, 16, and 32bit values.
603
604           To compile this code as a module, choose M here: the
605           module will be called em_cmp.
606
607 config NET_EMATCH_NBYTE
608         tristate "Multi byte comparison"
609         depends on NET_EMATCH
610         ---help---
611           Say Y here if you want to be able to classify packets based on
612           multiple byte comparisons mainly useful for IPv6 address comparisons.
613
614           To compile this code as a module, choose M here: the
615           module will be called em_nbyte.
616
617 config NET_EMATCH_U32
618         tristate "U32 key"
619         depends on NET_EMATCH
620         ---help---
621           Say Y here if you want to be able to classify packets using
622           the famous u32 key in combination with logic relations.
623
624           To compile this code as a module, choose M here: the
625           module will be called em_u32.
626
627 config NET_EMATCH_META
628         tristate "Metadata"
629         depends on NET_EMATCH
630         ---help---
631           Say Y here if you want to be able to classify packets based on
632           metadata such as load average, netfilter attributes, socket
633           attributes and routing decisions.
634
635           To compile this code as a module, choose M here: the
636           module will be called em_meta.
637
638 config NET_EMATCH_TEXT
639         tristate "Textsearch"
640         depends on NET_EMATCH
641         select TEXTSEARCH
642         select TEXTSEARCH_KMP
643         select TEXTSEARCH_BM
644         select TEXTSEARCH_FSM
645         ---help---
646           Say Y here if you want to be able to classify packets based on
647           textsearch comparisons.
648
649           To compile this code as a module, choose M here: the
650           module will be called em_text.
651
652 config NET_EMATCH_CANID
653         tristate "CAN Identifier"
654         depends on NET_EMATCH && (CAN=y || CAN=m)
655         ---help---
656           Say Y here if you want to be able to classify CAN frames based
657           on CAN Identifier.
658
659           To compile this code as a module, choose M here: the
660           module will be called em_canid.
661
662 config NET_EMATCH_IPSET
663         tristate "IPset"
664         depends on NET_EMATCH && IP_SET
665         ---help---
666           Say Y here if you want to be able to classify packets based on
667           ipset membership.
668
669           To compile this code as a module, choose M here: the
670           module will be called em_ipset.
671
672 config NET_EMATCH_IPT
673         tristate "IPtables Matches"
674         depends on NET_EMATCH && NETFILTER && NETFILTER_XTABLES
675         ---help---
676           Say Y here to be able to classify packets based on iptables
677           matches.
678           Current supported match is "policy" which allows packet classification
679           based on IPsec policy that was used during decapsulation
680
681           To compile this code as a module, choose M here: the
682           module will be called em_ipt.
683
684 config NET_CLS_ACT
685         bool "Actions"
686         select NET_CLS
687         ---help---
688           Say Y here if you want to use traffic control actions. Actions
689           get attached to classifiers and are invoked after a successful
690           classification. They are used to overwrite the classification
691           result, instantly drop or redirect packets, etc.
692
693           A recent version of the iproute2 package is required to use
694           extended matches.
695
696 config NET_ACT_POLICE
697         tristate "Traffic Policing"
698         depends on NET_CLS_ACT 
699         ---help---
700           Say Y here if you want to do traffic policing, i.e. strict
701           bandwidth limiting. This action replaces the existing policing
702           module.
703
704           To compile this code as a module, choose M here: the
705           module will be called act_police.
706
707 config NET_ACT_GACT
708         tristate "Generic actions"
709         depends on NET_CLS_ACT
710         ---help---
711           Say Y here to take generic actions such as dropping and
712           accepting packets.
713
714           To compile this code as a module, choose M here: the
715           module will be called act_gact.
716
717 config GACT_PROB
718         bool "Probability support"
719         depends on NET_ACT_GACT
720         ---help---
721           Say Y here to use the generic action randomly or deterministically.
722
723 config NET_ACT_MIRRED
724         tristate "Redirecting and Mirroring"
725         depends on NET_CLS_ACT
726         ---help---
727           Say Y here to allow packets to be mirrored or redirected to
728           other devices.
729
730           To compile this code as a module, choose M here: the
731           module will be called act_mirred.
732
733 config NET_ACT_SAMPLE
734         tristate "Traffic Sampling"
735         depends on NET_CLS_ACT
736         select PSAMPLE
737         ---help---
738           Say Y here to allow packet sampling tc action. The packet sample
739           action consists of statistically choosing packets and sampling
740           them using the psample module.
741
742           To compile this code as a module, choose M here: the
743           module will be called act_sample.
744
745 config NET_ACT_IPT
746         tristate "IPtables targets"
747         depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
748         ---help---
749           Say Y here to be able to invoke iptables targets after successful
750           classification.
751
752           To compile this code as a module, choose M here: the
753           module will be called act_ipt.
754
755 config NET_ACT_NAT
756         tristate "Stateless NAT"
757         depends on NET_CLS_ACT
758         ---help---
759           Say Y here to do stateless NAT on IPv4 packets.  You should use
760           netfilter for NAT unless you know what you are doing.
761
762           To compile this code as a module, choose M here: the
763           module will be called act_nat.
764
765 config NET_ACT_PEDIT
766         tristate "Packet Editing"
767         depends on NET_CLS_ACT
768         ---help---
769           Say Y here if you want to mangle the content of packets.
770
771           To compile this code as a module, choose M here: the
772           module will be called act_pedit.
773
774 config NET_ACT_SIMP
775         tristate "Simple Example (Debug)"
776         depends on NET_CLS_ACT
777         ---help---
778           Say Y here to add a simple action for demonstration purposes.
779           It is meant as an example and for debugging purposes. It will
780           print a configured policy string followed by the packet count
781           to the console for every packet that passes by.
782
783           If unsure, say N.
784
785           To compile this code as a module, choose M here: the
786           module will be called act_simple.
787
788 config NET_ACT_SKBEDIT
789         tristate "SKB Editing"
790         depends on NET_CLS_ACT
791         ---help---
792           Say Y here to change skb priority or queue_mapping settings.
793
794           If unsure, say N.
795
796           To compile this code as a module, choose M here: the
797           module will be called act_skbedit.
798
799 config NET_ACT_CSUM
800         tristate "Checksum Updating"
801         depends on NET_CLS_ACT && INET
802         select LIBCRC32C
803         ---help---
804           Say Y here to update some common checksum after some direct
805           packet alterations.
806
807           To compile this code as a module, choose M here: the
808           module will be called act_csum.
809
810 config NET_ACT_VLAN
811         tristate "Vlan manipulation"
812         depends on NET_CLS_ACT
813         ---help---
814           Say Y here to push or pop vlan headers.
815
816           If unsure, say N.
817
818           To compile this code as a module, choose M here: the
819           module will be called act_vlan.
820
821 config NET_ACT_BPF
822         tristate "BPF based action"
823         depends on NET_CLS_ACT
824         ---help---
825           Say Y here to execute BPF code on packets. The BPF code will decide
826           if the packet should be dropped or not.
827
828           If unsure, say N.
829
830           To compile this code as a module, choose M here: the
831           module will be called act_bpf.
832
833 config NET_ACT_CONNMARK
834         tristate "Netfilter Connection Mark Retriever"
835         depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
836         depends on NF_CONNTRACK && NF_CONNTRACK_MARK
837         ---help---
838           Say Y here to allow retrieving of conn mark
839
840           If unsure, say N.
841
842           To compile this code as a module, choose M here: the
843           module will be called act_connmark.
844
845 config NET_ACT_SKBMOD
846         tristate "skb data modification action"
847         depends on NET_CLS_ACT
848         ---help---
849          Say Y here to allow modification of skb data
850
851          If unsure, say N.
852
853          To compile this code as a module, choose M here: the
854          module will be called act_skbmod.
855
856 config NET_ACT_IFE
857         tristate "Inter-FE action based on IETF ForCES InterFE LFB"
858         depends on NET_CLS_ACT
859         select NET_IFE
860         ---help---
861           Say Y here to allow for sourcing and terminating metadata
862           For details refer to netdev01 paper:
863           "Distributing Linux Traffic Control Classifier-Action Subsystem"
864            Authors: Jamal Hadi Salim and Damascene M. Joachimpillai
865
866           To compile this code as a module, choose M here: the
867           module will be called act_ife.
868
869 config NET_ACT_TUNNEL_KEY
870         tristate "IP tunnel metadata manipulation"
871         depends on NET_CLS_ACT
872         ---help---
873           Say Y here to set/release ip tunnel metadata.
874
875           If unsure, say N.
876
877           To compile this code as a module, choose M here: the
878           module will be called act_tunnel_key.
879
880 config NET_IFE_SKBMARK
881         tristate "Support to encoding decoding skb mark on IFE action"
882         depends on NET_ACT_IFE
883
884 config NET_IFE_SKBPRIO
885         tristate "Support to encoding decoding skb prio on IFE action"
886         depends on NET_ACT_IFE
887
888 config NET_IFE_SKBTCINDEX
889         tristate "Support to encoding decoding skb tcindex on IFE action"
890         depends on NET_ACT_IFE
891
892 config NET_CLS_IND
893         bool "Incoming device classification"
894         depends on NET_CLS_U32 || NET_CLS_FW
895         ---help---
896           Say Y here to extend the u32 and fw classifier to support
897           classification based on the incoming device. This option is
898           likely to disappear in favour of the metadata ematch.
899
900 endif # NET_SCHED
901
902 config NET_SCH_FIFO
903         bool
This page took 0.086029 seconds and 4 git commands to generate.