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