linux: update to 6.10.x, 6.9.x is EOL
[openadk.git] / target / linux / config / Config.in.sched
blobb128313258ec3395542c55d1e94137d1e0add55e
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 menu "QoS and/or fair queueing"
6 config ADK_LINUX_KERNEL_NET_SCH_CSZ
7         bool
9 config ADK_LINUX_KERNEL_NET_SCH_NETEM
10         bool
12 config ADK_LINUX_KERNEL_NET_QOS
13         bool
15 config ADK_LINUX_KERNEL_NET_ESTIMATOR
16         bool
18 config ADK_LINUX_KERNEL_NET_SCHED
19         bool
20         help
21           When the kernel has several packets to send out over a network
22           device, it has to decide which ones to send first, which ones to
23           delay, and which ones to drop. This is the job of the queueing
24           disciplines, several different algorithms for how to do this
25           "fairly" have been proposed.
27           If you say N here, you will get the standard packet scheduler, which
28           is a FIFO (first come, first served). If you say Y here, you will be
29           able to choose from among several alternative algorithms which can
30           then be attached to different network devices. This is useful for
31           example if some of your network devices are real time devices that
32           need a certain minimum data flow rate, or if you need to limit the
33           maximum data flow rate for traffic which matches specified criteria.
34           This code is considered to be experimental.
36           To administer these schedulers, you'll need the user-level utilities
37           from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
38           That package also contains some documentation; for more, check out
39           <http://linux-net.osdl.org/index.php/Iproute2>.
41           This Quality of Service (QoS) support will enable you to use
42           Differentiated Services (diffserv) and Resource Reservation Protocol
43           (RSVP) on your Linux router if you also say Y to the corresponding
44           classifiers below.  Documentation and software is at
45           <http://diffserv.sourceforge.net/>.
47 comment "Queueing/Scheduling"
49 config ADK_LINUX_KERNEL_NET_SCH_CBQ
50         tristate "Class Based Queueing (CBQ)"
51         select ADK_LINUX_KERNEL_NET_SCHED
52         default n
53         help
54           Say Y here if you want to use the Class-Based Queueing (CBQ) packet
55           scheduling algorithm. This algorithm classifies the waiting packets
56           into a tree-like hierarchy of classes; the leaves of this tree are
57           in turn scheduled by separate algorithms.
59           See the top of <file:net/sched/sch_cbq.c> for more details.
61           CBQ is a commonly used scheduler, so if you're unsure, you should
62           say Y here. Then say Y to all the queueing algorithms below that you
63           want to use as leaf disciplines.
65 config ADK_LINUX_KERNEL_NET_SCH_HTB
66         tristate "Hierarchical Token Bucket (HTB)"
67         select ADK_LINUX_KERNEL_NET_SCHED
68         default n
69         help
70           Say Y here if you want to use the Hierarchical Token Buckets (HTB)
71           packet scheduling algorithm. See
72           <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and
73           in-depth articles.
75           HTB is very similar to CBQ regarding its goals however is has
76           different properties and different algorithm.
78 config ADK_LINUX_KERNEL_NET_SCH_HFSC
79         tristate "Hierarchical Fair Service Curve (HFSC)"
80         select ADK_LINUX_KERNEL_NET_SCHED
81         default n
82         help
83           Say Y here if you want to use the Hierarchical Fair Service Curve
84           (HFSC) packet scheduling algorithm.
86 config ADK_LINUX_KERNEL_NET_SCH_ATM
87         tristate "ATM Virtual Circuits (ATM)"
88         depends on ADK_LINUX_KERNEL_ATM
89         select ADK_LINUX_KERNEL_NET_SCHED
90         default n
91         help
92           Say Y here if you want to use the ATM pseudo-scheduler.  This
93           provides a framework for invoking classifiers, which in turn
94           select classes of this queuing discipline.  Each class maps
95           the flow(s) it is handling to a given virtual circuit.
97           See the top of <file:net/sched/sch_atm.c>) for more details.
99 config ADK_LINUX_KERNEL_NET_SCH_PRIO
100         tristate "Multi Band Priority Queueing (PRIO)"
101         select ADK_LINUX_KERNEL_NET_SCHED
102         default n
103         help
104           Say Y here if you want to use an n-band priority queue packet
105           scheduler.
107 config ADK_LINUX_KERNEL_NET_SCH_RED
108         tristate "Random Early Detection (RED)"
109         select ADK_LINUX_KERNEL_NET_SCHED
110         default n
111         help
112           Say Y here if you want to use the Random Early Detection (RED)
113           packet scheduling algorithm.
115           See the top of <file:net/sched/sch_red.c> for more details.
117 config ADK_LINUX_KERNEL_NET_SCH_SFQ
118         tristate "Stochastic Fairness Queueing (SFQ)"
119         select ADK_LINUX_KERNEL_NET_SCHED
120         default n
121         help
122           Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
123           packet scheduling algorithm .
125           See the top of <file:net/sched/sch_sfq.c> for more details.
127 config ADK_LINUX_KERNEL_NET_SCH_TBF
128         tristate "Token Bucket Filter (TBF)"
129         select ADK_LINUX_KERNEL_NET_SCHED
130         default n
131         help
132           Say Y here if you want to use the Token Bucket Filter (TBF) packet
133           scheduling algorithm.
135           See the top of <file:net/sched/sch_tbf.c> for more details.
137 config ADK_LINUX_KERNEL_NET_SCH_GRED
138         tristate "Generic Random Early Detection (GRED)"
139         select ADK_LINUX_KERNEL_NET_SCHED
140         default n
141         help
142           Say Y here if you want to use the Generic Random Early Detection
143           (GRED) packet scheduling algorithm for some of your network devices
144           (see the top of <file:net/sched/sch_red.c> for details and
145           references about the algorithm).
147 config ADK_LINUX_KERNEL_NET_SCH_DSMARK
148         tristate "Differentiated Services marker (DSMARK)"
149         select ADK_LINUX_KERNEL_NET_SCHED
150         default n
151         help
152           Say Y if you want to schedule packets according to the
153           Differentiated Services architecture proposed in RFC 2475.
154           Technical information on this method, with pointers to associated
155           RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.
157 config ADK_LINUX_KERNEL_NET_SCH_INGRESS
158         tristate "Ingress Qdisc"
159         select ADK_LINUX_KERNEL_NET_SCHED
160         select ADK_LINUX_KERNEL_NETFILTER
161         select ADK_LINUX_KERNEL_NET_CLS_ACT
162         default n
163         help
164           Say Y here if you want to use classifiers for incoming packets.
165           If unsure, say Y.
167 comment "Classification"
169 config ADK_LINUX_KERNEL_NET_CLS
170         bool
171         select ADK_LINUX_KERNEL_NET_SCHED
172         default n
174 config ADK_LINUX_KERNEL_NET_CLS_BASIC
175         tristate "Elementary classification (BASIC)"
176         select ADK_LINUX_KERNEL_NET_CLS
177         default n
178         help
179           Say Y here if you want to be able to classify packets using
180           only extended matches and actions.
182 config ADK_LINUX_KERNEL_NET_CLS_TCINDEX
183         tristate "Traffic-Control Index (TCINDEX)"
184         select ADK_LINUX_KERNEL_NET_CLS
185         default n
186         help
187           Say Y here if you want to be able to classify packets based on
188           traffic control indices. You will want this feature if you want
189           to implement Differentiated Services together with DSMARK.
191 config ADK_LINUX_KERNEL_NET_CLS_ROUTE4
192         tristate "Routing decision (ROUTE)"
193         select ADK_LINUX_KERNEL_NET_CLS
194         default n
195         help
196           If you say Y here, you will be able to classify packets
197           according to the route table entry they matched.
199 config ADK_LINUX_KERNEL_NET_CLS_FW
200         tristate "Netfilter mark (FW)"
201         select ADK_LINUX_KERNEL_NET_CLS
202         default n
203         help
204           If you say Y here, you will be able to classify packets
205           according to netfilter/firewall marks.
207 config ADK_LINUX_KERNEL_NET_CLS_U32
208         tristate "Universal 32bit comparisons w/ hashing (U32)"
209         select ADK_LINUX_KERNEL_NET_CLS
210         default n
211         help
212           Say Y here to be able to classify packets using a universal
213           32bit pieces based comparison scheme.
215 config ADK_LINUX_KERNEL_NET_CLS_U32_PERF
216         bool "Performance counters support"
217         select ADK_LINUX_KERNEL_NET_CLS
218         depends on ADK_LINUX_KERNEL_NET_CLS_U32
219         default n
220         help
221           Say Y here to make u32 gather additional statistics useful for
222           fine tuning u32 classifiers.
224 config ADK_LINUX_KERNEL_NET_CLS_U32_MARK
225         bool "Netfilter marks support"
226         select ADK_LINUX_KERNEL_NET_CLS
227         depends on ADK_LINUX_KERNEL_NET_CLS_U32
228         depends on ADK_LINUX_KERNEL_NET_CLS_FW
229         default n
230         help
231           Say Y here to be able to use netfilter marks as u32 key.
233 comment "Actions"
235 config ADK_LINUX_KERNEL_NET_CLS_ACT
236         bool
237         select ADK_LINUX_KERNEL_NET_SCHED
238         select ADK_LINUX_KERNEL_NET_ESTIMATOR
239         default n
241 config ADK_LINUX_KERNEL_NET_ACT_POLICE
242         tristate "Traffic Policing"
243         select ADK_LINUX_KERNEL_NET_CLS_ACT
244         default n
245         help
246           Say Y here if you want to do traffic policing, i.e. strict
247           bandwidth limiting. This action replaces the existing policing
248           module.
250 config ADK_LINUX_KERNEL_NET_ACT_GACT
251         tristate "Generic actions"
252         select ADK_LINUX_KERNEL_NET_CLS_ACT
253         default n
254         help
255           Say Y here to take generic actions such as dropping and
256           accepting packets.
258 config ADK_LINUX_KERNEL_NET_ACT_MIRRED
259         tristate "Redirecting and Mirroring"
260         select ADK_LINUX_KERNEL_NET_CLS_ACT
261         default n
262         help
263           Say Y here to allow packets to be mirrored or redirected to
264           other devices.
266 config ADK_LINUX_KERNEL_NET_ACT_IPT
267         tristate "IPtables targets"
268         select ADK_LINUX_KERNEL_NET_CLS_ACT
269         select ADK_LINUX_KERNEL_IP_NF_IPTABLES
270         default n
271         help
272           Say Y here to be able to invoke iptables targets after successful
273           classification.
275 config ADK_LINUX_KERNEL_NET_ACT_PEDIT
276         tristate "Packet Editing"
277         select ADK_LINUX_KERNEL_NET_CLS_ACT
278         default n
279         help
280           Say Y here if you want to mangle the content of packets.
282 endmenu