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