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