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