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