~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/sched/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /net/sched/Kconfig (Version linux-6.12-rc7) and /net/sched/Kconfig (Version linux-5.15.171)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php