| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | # |
|---|
| 2 | 3 | # Traffic control configuration. |
|---|
| 3 | 4 | # |
|---|
| .. | .. |
|---|
| 5 | 6 | menuconfig NET_SCHED |
|---|
| 6 | 7 | bool "QoS and/or fair queueing" |
|---|
| 7 | 8 | select NET_SCH_FIFO |
|---|
| 8 | | - ---help--- |
|---|
| 9 | + help |
|---|
| 9 | 10 | When the kernel has several packets to send out over a network |
|---|
| 10 | 11 | device, it has to decide which ones to send first, which ones to |
|---|
| 11 | 12 | delay, and which ones to drop. This is the job of the queueing |
|---|
| .. | .. |
|---|
| 46 | 47 | |
|---|
| 47 | 48 | config NET_SCH_CBQ |
|---|
| 48 | 49 | tristate "Class Based Queueing (CBQ)" |
|---|
| 49 | | - ---help--- |
|---|
| 50 | + help |
|---|
| 50 | 51 | Say Y here if you want to use the Class-Based Queueing (CBQ) packet |
|---|
| 51 | 52 | scheduling algorithm. This algorithm classifies the waiting packets |
|---|
| 52 | 53 | into a tree-like hierarchy of classes; the leaves of this tree are |
|---|
| .. | .. |
|---|
| 63 | 64 | |
|---|
| 64 | 65 | config NET_SCH_HTB |
|---|
| 65 | 66 | tristate "Hierarchical Token Bucket (HTB)" |
|---|
| 66 | | - ---help--- |
|---|
| 67 | + help |
|---|
| 67 | 68 | Say Y here if you want to use the Hierarchical Token Buckets (HTB) |
|---|
| 68 | 69 | packet scheduling algorithm. See |
|---|
| 69 | 70 | <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and |
|---|
| .. | .. |
|---|
| 77 | 78 | |
|---|
| 78 | 79 | config NET_SCH_HFSC |
|---|
| 79 | 80 | tristate "Hierarchical Fair Service Curve (HFSC)" |
|---|
| 80 | | - ---help--- |
|---|
| 81 | + help |
|---|
| 81 | 82 | Say Y here if you want to use the Hierarchical Fair Service Curve |
|---|
| 82 | 83 | (HFSC) packet scheduling algorithm. |
|---|
| 83 | 84 | |
|---|
| .. | .. |
|---|
| 87 | 88 | config NET_SCH_ATM |
|---|
| 88 | 89 | tristate "ATM Virtual Circuits (ATM)" |
|---|
| 89 | 90 | depends on ATM |
|---|
| 90 | | - ---help--- |
|---|
| 91 | + help |
|---|
| 91 | 92 | Say Y here if you want to use the ATM pseudo-scheduler. This |
|---|
| 92 | 93 | provides a framework for invoking classifiers, which in turn |
|---|
| 93 | 94 | select classes of this queuing discipline. Each class maps |
|---|
| .. | .. |
|---|
| 100 | 101 | |
|---|
| 101 | 102 | config NET_SCH_PRIO |
|---|
| 102 | 103 | tristate "Multi Band Priority Queueing (PRIO)" |
|---|
| 103 | | - ---help--- |
|---|
| 104 | + help |
|---|
| 104 | 105 | Say Y here if you want to use an n-band priority queue packet |
|---|
| 105 | 106 | scheduler. |
|---|
| 106 | 107 | |
|---|
| .. | .. |
|---|
| 109 | 110 | |
|---|
| 110 | 111 | config NET_SCH_MULTIQ |
|---|
| 111 | 112 | tristate "Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)" |
|---|
| 112 | | - ---help--- |
|---|
| 113 | + help |
|---|
| 113 | 114 | Say Y here if you want to use an n-band queue packet scheduler |
|---|
| 114 | 115 | to support devices that have multiple hardware transmit queues. |
|---|
| 115 | 116 | |
|---|
| .. | .. |
|---|
| 118 | 119 | |
|---|
| 119 | 120 | config NET_SCH_RED |
|---|
| 120 | 121 | tristate "Random Early Detection (RED)" |
|---|
| 121 | | - ---help--- |
|---|
| 122 | + help |
|---|
| 122 | 123 | Say Y here if you want to use the Random Early Detection (RED) |
|---|
| 123 | 124 | packet scheduling algorithm. |
|---|
| 124 | 125 | |
|---|
| .. | .. |
|---|
| 129 | 130 | |
|---|
| 130 | 131 | config NET_SCH_SFB |
|---|
| 131 | 132 | tristate "Stochastic Fair Blue (SFB)" |
|---|
| 132 | | - ---help--- |
|---|
| 133 | + help |
|---|
| 133 | 134 | Say Y here if you want to use the Stochastic Fair Blue (SFB) |
|---|
| 134 | 135 | packet scheduling algorithm. |
|---|
| 135 | 136 | |
|---|
| .. | .. |
|---|
| 140 | 141 | |
|---|
| 141 | 142 | config NET_SCH_SFQ |
|---|
| 142 | 143 | tristate "Stochastic Fairness Queueing (SFQ)" |
|---|
| 143 | | - ---help--- |
|---|
| 144 | + help |
|---|
| 144 | 145 | Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) |
|---|
| 145 | 146 | packet scheduling algorithm. |
|---|
| 146 | 147 | |
|---|
| .. | .. |
|---|
| 151 | 152 | |
|---|
| 152 | 153 | config NET_SCH_TEQL |
|---|
| 153 | 154 | tristate "True Link Equalizer (TEQL)" |
|---|
| 154 | | - ---help--- |
|---|
| 155 | + help |
|---|
| 155 | 156 | Say Y here if you want to use the True Link Equalizer (TLE) packet |
|---|
| 156 | 157 | scheduling algorithm. This queueing discipline allows the combination |
|---|
| 157 | 158 | of several physical devices into one virtual device. |
|---|
| .. | .. |
|---|
| 163 | 164 | |
|---|
| 164 | 165 | config NET_SCH_TBF |
|---|
| 165 | 166 | tristate "Token Bucket Filter (TBF)" |
|---|
| 166 | | - ---help--- |
|---|
| 167 | + help |
|---|
| 167 | 168 | Say Y here if you want to use the Token Bucket Filter (TBF) packet |
|---|
| 168 | 169 | scheduling algorithm. |
|---|
| 169 | 170 | |
|---|
| .. | .. |
|---|
| 174 | 175 | |
|---|
| 175 | 176 | config NET_SCH_CBS |
|---|
| 176 | 177 | tristate "Credit Based Shaper (CBS)" |
|---|
| 177 | | - ---help--- |
|---|
| 178 | + help |
|---|
| 178 | 179 | Say Y here if you want to use the Credit Based Shaper (CBS) packet |
|---|
| 179 | 180 | scheduling algorithm. |
|---|
| 180 | 181 | |
|---|
| .. | .. |
|---|
| 194 | 195 | To compile this code as a module, choose M here: the |
|---|
| 195 | 196 | module will be called sch_etf. |
|---|
| 196 | 197 | |
|---|
| 198 | +config NET_SCH_TAPRIO |
|---|
| 199 | + tristate "Time Aware Priority (taprio) Scheduler" |
|---|
| 200 | + help |
|---|
| 201 | + Say Y here if you want to use the Time Aware Priority (taprio) packet |
|---|
| 202 | + scheduling algorithm. |
|---|
| 203 | + |
|---|
| 204 | + See the top of <file:net/sched/sch_taprio.c> for more details. |
|---|
| 205 | + |
|---|
| 206 | + To compile this code as a module, choose M here: the |
|---|
| 207 | + module will be called sch_taprio. |
|---|
| 208 | + |
|---|
| 197 | 209 | config NET_SCH_GRED |
|---|
| 198 | 210 | tristate "Generic Random Early Detection (GRED)" |
|---|
| 199 | | - ---help--- |
|---|
| 211 | + help |
|---|
| 200 | 212 | Say Y here if you want to use the Generic Random Early Detection |
|---|
| 201 | 213 | (GRED) packet scheduling algorithm for some of your network devices |
|---|
| 202 | 214 | (see the top of <file:net/sched/sch_red.c> for details and |
|---|
| .. | .. |
|---|
| 207 | 219 | |
|---|
| 208 | 220 | config NET_SCH_DSMARK |
|---|
| 209 | 221 | tristate "Differentiated Services marker (DSMARK)" |
|---|
| 210 | | - ---help--- |
|---|
| 222 | + help |
|---|
| 211 | 223 | Say Y if you want to schedule packets according to the |
|---|
| 212 | 224 | Differentiated Services architecture proposed in RFC 2475. |
|---|
| 213 | 225 | Technical information on this method, with pointers to associated |
|---|
| .. | .. |
|---|
| 218 | 230 | |
|---|
| 219 | 231 | config NET_SCH_NETEM |
|---|
| 220 | 232 | tristate "Network emulator (NETEM)" |
|---|
| 221 | | - ---help--- |
|---|
| 233 | + help |
|---|
| 222 | 234 | Say Y if you want to emulate network delay, loss, and packet |
|---|
| 223 | 235 | re-ordering. This is often useful to simulate networks when |
|---|
| 224 | 236 | testing applications or protocols. |
|---|
| .. | .. |
|---|
| 312 | 324 | tristate "Common Applications Kept Enhanced (CAKE)" |
|---|
| 313 | 325 | help |
|---|
| 314 | 326 | Say Y here if you want to use the Common Applications Kept Enhanced |
|---|
| 315 | | - (CAKE) queue management algorithm. |
|---|
| 327 | + (CAKE) queue management algorithm. |
|---|
| 316 | 328 | |
|---|
| 317 | 329 | To compile this driver as a module, choose M here: the module |
|---|
| 318 | 330 | will be called sch_cake. |
|---|
| .. | .. |
|---|
| 347 | 359 | help |
|---|
| 348 | 360 | Say Y here if you want to use the Proportional Integral controller |
|---|
| 349 | 361 | Enhanced scheduler packet scheduling algorithm. |
|---|
| 350 | | - For more information, please see |
|---|
| 351 | | - http://tools.ietf.org/html/draft-pan-tsvwg-pie-00 |
|---|
| 362 | + For more information, please see https://tools.ietf.org/html/rfc8033 |
|---|
| 352 | 363 | |
|---|
| 353 | 364 | To compile this driver as a module, choose M here: the module |
|---|
| 354 | 365 | will be called sch_pie. |
|---|
| 366 | + |
|---|
| 367 | + If unsure, say N. |
|---|
| 368 | + |
|---|
| 369 | +config NET_SCH_FQ_PIE |
|---|
| 370 | + depends on NET_SCH_PIE |
|---|
| 371 | + tristate "Flow Queue Proportional Integral controller Enhanced (FQ-PIE)" |
|---|
| 372 | + help |
|---|
| 373 | + Say Y here if you want to use the Flow Queue Proportional Integral |
|---|
| 374 | + controller Enhanced (FQ-PIE) packet scheduling algorithm. |
|---|
| 375 | + For more information, please see https://tools.ietf.org/html/rfc8033 |
|---|
| 376 | + |
|---|
| 377 | + To compile this driver as a module, choose M here: the module |
|---|
| 378 | + will be called sch_fq_pie. |
|---|
| 355 | 379 | |
|---|
| 356 | 380 | If unsure, say N. |
|---|
| 357 | 381 | |
|---|
| .. | .. |
|---|
| 360 | 384 | depends on NET_CLS_ACT |
|---|
| 361 | 385 | select NET_INGRESS |
|---|
| 362 | 386 | select NET_EGRESS |
|---|
| 363 | | - ---help--- |
|---|
| 387 | + help |
|---|
| 364 | 388 | Say Y here if you want to use classifiers for incoming and/or outgoing |
|---|
| 365 | 389 | packets. This qdisc doesn't do anything else besides running classifiers, |
|---|
| 366 | 390 | which can also have actions attached to them. In case of outgoing packets, |
|---|
| .. | .. |
|---|
| 374 | 398 | |
|---|
| 375 | 399 | config NET_SCH_PLUG |
|---|
| 376 | 400 | tristate "Plug network traffic until release (PLUG)" |
|---|
| 377 | | - ---help--- |
|---|
| 401 | + help |
|---|
| 378 | 402 | |
|---|
| 379 | 403 | This queuing discipline allows userspace to plug/unplug a network |
|---|
| 380 | 404 | output queue, using the netlink interface. When it receives an |
|---|
| .. | .. |
|---|
| 398 | 422 | To compile this code as a module, choose M here: the |
|---|
| 399 | 423 | module will be called sch_plug. |
|---|
| 400 | 424 | |
|---|
| 425 | +config NET_SCH_ETS |
|---|
| 426 | + tristate "Enhanced transmission selection scheduler (ETS)" |
|---|
| 427 | + help |
|---|
| 428 | + The Enhanced Transmission Selection scheduler is a classful |
|---|
| 429 | + queuing discipline that merges functionality of PRIO and DRR |
|---|
| 430 | + qdiscs in one scheduler. ETS makes it easy to configure a set of |
|---|
| 431 | + strict and bandwidth-sharing bands to implement the transmission |
|---|
| 432 | + selection described in 802.1Qaz. |
|---|
| 433 | + |
|---|
| 434 | + Say Y here if you want to use the ETS packet scheduling |
|---|
| 435 | + algorithm. |
|---|
| 436 | + |
|---|
| 437 | + To compile this driver as a module, choose M here: the module |
|---|
| 438 | + will be called sch_ets. |
|---|
| 439 | + |
|---|
| 440 | + If unsure, say N. |
|---|
| 441 | + |
|---|
| 401 | 442 | menuconfig NET_SCH_DEFAULT |
|---|
| 402 | 443 | bool "Allow override default queue discipline" |
|---|
| 403 | | - ---help--- |
|---|
| 444 | + help |
|---|
| 404 | 445 | Support for selection of default queuing discipline. |
|---|
| 405 | 446 | |
|---|
| 406 | 447 | Nearly all users can safely say no here, and the default |
|---|
| .. | .. |
|---|
| 427 | 468 | config DEFAULT_FQ_CODEL |
|---|
| 428 | 469 | bool "Fair Queue Controlled Delay" if NET_SCH_FQ_CODEL |
|---|
| 429 | 470 | |
|---|
| 471 | + config DEFAULT_FQ_PIE |
|---|
| 472 | + bool "Flow Queue Proportional Integral controller Enhanced" if NET_SCH_FQ_PIE |
|---|
| 473 | + |
|---|
| 430 | 474 | config DEFAULT_SFQ |
|---|
| 431 | 475 | bool "Stochastic Fair Queue" if NET_SCH_SFQ |
|---|
| 432 | 476 | |
|---|
| .. | .. |
|---|
| 439 | 483 | default "pfifo_fast" if DEFAULT_PFIFO_FAST |
|---|
| 440 | 484 | default "fq" if DEFAULT_FQ |
|---|
| 441 | 485 | default "fq_codel" if DEFAULT_FQ_CODEL |
|---|
| 486 | + default "fq_pie" if DEFAULT_FQ_PIE |
|---|
| 442 | 487 | default "sfq" if DEFAULT_SFQ |
|---|
| 443 | 488 | default "pfifo_fast" |
|---|
| 444 | 489 | endif |
|---|
| .. | .. |
|---|
| 451 | 496 | config NET_CLS_BASIC |
|---|
| 452 | 497 | tristate "Elementary classification (BASIC)" |
|---|
| 453 | 498 | select NET_CLS |
|---|
| 454 | | - ---help--- |
|---|
| 499 | + help |
|---|
| 455 | 500 | Say Y here if you want to be able to classify packets using |
|---|
| 456 | 501 | only extended matches and actions. |
|---|
| 457 | 502 | |
|---|
| 458 | 503 | To compile this code as a module, choose M here: the |
|---|
| 459 | 504 | module will be called cls_basic. |
|---|
| 460 | 505 | |
|---|
| 461 | | -config NET_CLS_TCINDEX |
|---|
| 462 | | - tristate "Traffic-Control Index (TCINDEX)" |
|---|
| 463 | | - select NET_CLS |
|---|
| 464 | | - ---help--- |
|---|
| 465 | | - Say Y here if you want to be able to classify packets based on |
|---|
| 466 | | - traffic control indices. You will want this feature if you want |
|---|
| 467 | | - to implement Differentiated Services together with DSMARK. |
|---|
| 468 | | - |
|---|
| 469 | | - To compile this code as a module, choose M here: the |
|---|
| 470 | | - module will be called cls_tcindex. |
|---|
| 471 | | - |
|---|
| 472 | 506 | config NET_CLS_ROUTE4 |
|---|
| 473 | 507 | tristate "Routing decision (ROUTE)" |
|---|
| 474 | 508 | depends on INET |
|---|
| 475 | 509 | select IP_ROUTE_CLASSID |
|---|
| 476 | 510 | select NET_CLS |
|---|
| 477 | | - ---help--- |
|---|
| 511 | + help |
|---|
| 478 | 512 | If you say Y here, you will be able to classify packets |
|---|
| 479 | 513 | according to the route table entry they matched. |
|---|
| 480 | 514 | |
|---|
| .. | .. |
|---|
| 484 | 518 | config NET_CLS_FW |
|---|
| 485 | 519 | tristate "Netfilter mark (FW)" |
|---|
| 486 | 520 | select NET_CLS |
|---|
| 487 | | - ---help--- |
|---|
| 521 | + help |
|---|
| 488 | 522 | If you say Y here, you will be able to classify packets |
|---|
| 489 | 523 | according to netfilter/firewall marks. |
|---|
| 490 | 524 | |
|---|
| .. | .. |
|---|
| 494 | 528 | config NET_CLS_U32 |
|---|
| 495 | 529 | tristate "Universal 32bit comparisons w/ hashing (U32)" |
|---|
| 496 | 530 | select NET_CLS |
|---|
| 497 | | - ---help--- |
|---|
| 531 | + help |
|---|
| 498 | 532 | Say Y here to be able to classify packets using a universal |
|---|
| 499 | 533 | 32bit pieces based comparison scheme. |
|---|
| 500 | 534 | |
|---|
| .. | .. |
|---|
| 504 | 538 | config CLS_U32_PERF |
|---|
| 505 | 539 | bool "Performance counters support" |
|---|
| 506 | 540 | depends on NET_CLS_U32 |
|---|
| 507 | | - ---help--- |
|---|
| 541 | + help |
|---|
| 508 | 542 | Say Y here to make u32 gather additional statistics useful for |
|---|
| 509 | 543 | fine tuning u32 classifiers. |
|---|
| 510 | 544 | |
|---|
| 511 | 545 | config CLS_U32_MARK |
|---|
| 512 | 546 | bool "Netfilter marks support" |
|---|
| 513 | 547 | depends on NET_CLS_U32 |
|---|
| 514 | | - ---help--- |
|---|
| 548 | + help |
|---|
| 515 | 549 | Say Y here to be able to use netfilter marks as u32 key. |
|---|
| 516 | | - |
|---|
| 517 | | -config NET_CLS_RSVP |
|---|
| 518 | | - tristate "IPv4 Resource Reservation Protocol (RSVP)" |
|---|
| 519 | | - select NET_CLS |
|---|
| 520 | | - ---help--- |
|---|
| 521 | | - The Resource Reservation Protocol (RSVP) permits end systems to |
|---|
| 522 | | - request a minimum and maximum data flow rate for a connection; this |
|---|
| 523 | | - is important for real time data such as streaming sound or video. |
|---|
| 524 | | - |
|---|
| 525 | | - Say Y here if you want to be able to classify outgoing packets based |
|---|
| 526 | | - on their RSVP requests. |
|---|
| 527 | | - |
|---|
| 528 | | - To compile this code as a module, choose M here: the |
|---|
| 529 | | - module will be called cls_rsvp. |
|---|
| 530 | | - |
|---|
| 531 | | -config NET_CLS_RSVP6 |
|---|
| 532 | | - tristate "IPv6 Resource Reservation Protocol (RSVP6)" |
|---|
| 533 | | - select NET_CLS |
|---|
| 534 | | - ---help--- |
|---|
| 535 | | - The Resource Reservation Protocol (RSVP) permits end systems to |
|---|
| 536 | | - request a minimum and maximum data flow rate for a connection; this |
|---|
| 537 | | - is important for real time data such as streaming sound or video. |
|---|
| 538 | | - |
|---|
| 539 | | - Say Y here if you want to be able to classify outgoing packets based |
|---|
| 540 | | - on their RSVP requests and you are using the IPv6 protocol. |
|---|
| 541 | | - |
|---|
| 542 | | - To compile this code as a module, choose M here: the |
|---|
| 543 | | - module will be called cls_rsvp6. |
|---|
| 544 | 550 | |
|---|
| 545 | 551 | config NET_CLS_FLOW |
|---|
| 546 | 552 | tristate "Flow classifier" |
|---|
| 547 | 553 | select NET_CLS |
|---|
| 548 | | - ---help--- |
|---|
| 554 | + help |
|---|
| 549 | 555 | If you say Y here, you will be able to classify packets based on |
|---|
| 550 | 556 | a configurable combination of packet keys. This is mostly useful |
|---|
| 551 | 557 | in combination with SFQ. |
|---|
| .. | .. |
|---|
| 558 | 564 | select NET_CLS |
|---|
| 559 | 565 | select CGROUP_NET_CLASSID |
|---|
| 560 | 566 | depends on CGROUPS |
|---|
| 561 | | - ---help--- |
|---|
| 567 | + help |
|---|
| 562 | 568 | Say Y here if you want to classify packets based on the control |
|---|
| 563 | 569 | cgroup of their process. |
|---|
| 564 | 570 | |
|---|
| .. | .. |
|---|
| 568 | 574 | config NET_CLS_BPF |
|---|
| 569 | 575 | tristate "BPF-based classifier" |
|---|
| 570 | 576 | select NET_CLS |
|---|
| 571 | | - ---help--- |
|---|
| 577 | + help |
|---|
| 572 | 578 | If you say Y here, you will be able to classify packets based on |
|---|
| 573 | 579 | programmable BPF (JIT'ed) filters as an alternative to ematches. |
|---|
| 574 | 580 | |
|---|
| .. | .. |
|---|
| 578 | 584 | config NET_CLS_FLOWER |
|---|
| 579 | 585 | tristate "Flower classifier" |
|---|
| 580 | 586 | select NET_CLS |
|---|
| 581 | | - ---help--- |
|---|
| 587 | + help |
|---|
| 582 | 588 | If you say Y here, you will be able to classify packets based on |
|---|
| 583 | 589 | a configurable combination of packet keys and masks. |
|---|
| 584 | 590 | |
|---|
| .. | .. |
|---|
| 588 | 594 | config NET_CLS_MATCHALL |
|---|
| 589 | 595 | tristate "Match-all classifier" |
|---|
| 590 | 596 | select NET_CLS |
|---|
| 591 | | - ---help--- |
|---|
| 597 | + help |
|---|
| 592 | 598 | If you say Y here, you will be able to classify packets based on |
|---|
| 593 | 599 | nothing. Every packet will match. |
|---|
| 594 | 600 | |
|---|
| .. | .. |
|---|
| 598 | 604 | config NET_EMATCH |
|---|
| 599 | 605 | bool "Extended Matches" |
|---|
| 600 | 606 | select NET_CLS |
|---|
| 601 | | - ---help--- |
|---|
| 607 | + help |
|---|
| 602 | 608 | Say Y here if you want to use extended matches on top of classifiers |
|---|
| 603 | 609 | and select the extended matches below. |
|---|
| 604 | 610 | |
|---|
| .. | .. |
|---|
| 612 | 618 | int "Stack size" |
|---|
| 613 | 619 | depends on NET_EMATCH |
|---|
| 614 | 620 | default "32" |
|---|
| 615 | | - ---help--- |
|---|
| 621 | + help |
|---|
| 616 | 622 | Size of the local stack variable used while evaluating the tree of |
|---|
| 617 | 623 | ematches. Limits the depth of the tree, i.e. the number of |
|---|
| 618 | 624 | encapsulated precedences. Every level requires 4 bytes of additional |
|---|
| .. | .. |
|---|
| 621 | 627 | config NET_EMATCH_CMP |
|---|
| 622 | 628 | tristate "Simple packet data comparison" |
|---|
| 623 | 629 | depends on NET_EMATCH |
|---|
| 624 | | - ---help--- |
|---|
| 630 | + help |
|---|
| 625 | 631 | Say Y here if you want to be able to classify packets based on |
|---|
| 626 | 632 | simple packet data comparisons for 8, 16, and 32bit values. |
|---|
| 627 | 633 | |
|---|
| .. | .. |
|---|
| 631 | 637 | config NET_EMATCH_NBYTE |
|---|
| 632 | 638 | tristate "Multi byte comparison" |
|---|
| 633 | 639 | depends on NET_EMATCH |
|---|
| 634 | | - ---help--- |
|---|
| 640 | + help |
|---|
| 635 | 641 | Say Y here if you want to be able to classify packets based on |
|---|
| 636 | 642 | multiple byte comparisons mainly useful for IPv6 address comparisons. |
|---|
| 637 | 643 | |
|---|
| .. | .. |
|---|
| 641 | 647 | config NET_EMATCH_U32 |
|---|
| 642 | 648 | tristate "U32 key" |
|---|
| 643 | 649 | depends on NET_EMATCH |
|---|
| 644 | | - ---help--- |
|---|
| 650 | + help |
|---|
| 645 | 651 | Say Y here if you want to be able to classify packets using |
|---|
| 646 | 652 | the famous u32 key in combination with logic relations. |
|---|
| 647 | 653 | |
|---|
| .. | .. |
|---|
| 651 | 657 | config NET_EMATCH_META |
|---|
| 652 | 658 | tristate "Metadata" |
|---|
| 653 | 659 | depends on NET_EMATCH |
|---|
| 654 | | - ---help--- |
|---|
| 660 | + help |
|---|
| 655 | 661 | Say Y here if you want to be able to classify packets based on |
|---|
| 656 | 662 | metadata such as load average, netfilter attributes, socket |
|---|
| 657 | 663 | attributes and routing decisions. |
|---|
| .. | .. |
|---|
| 666 | 672 | select TEXTSEARCH_KMP |
|---|
| 667 | 673 | select TEXTSEARCH_BM |
|---|
| 668 | 674 | select TEXTSEARCH_FSM |
|---|
| 669 | | - ---help--- |
|---|
| 675 | + help |
|---|
| 670 | 676 | Say Y here if you want to be able to classify packets based on |
|---|
| 671 | 677 | textsearch comparisons. |
|---|
| 672 | 678 | |
|---|
| .. | .. |
|---|
| 676 | 682 | config NET_EMATCH_CANID |
|---|
| 677 | 683 | tristate "CAN Identifier" |
|---|
| 678 | 684 | depends on NET_EMATCH && (CAN=y || CAN=m) |
|---|
| 679 | | - ---help--- |
|---|
| 685 | + help |
|---|
| 680 | 686 | Say Y here if you want to be able to classify CAN frames based |
|---|
| 681 | 687 | on CAN Identifier. |
|---|
| 682 | 688 | |
|---|
| .. | .. |
|---|
| 686 | 692 | config NET_EMATCH_IPSET |
|---|
| 687 | 693 | tristate "IPset" |
|---|
| 688 | 694 | depends on NET_EMATCH && IP_SET |
|---|
| 689 | | - ---help--- |
|---|
| 695 | + help |
|---|
| 690 | 696 | Say Y here if you want to be able to classify packets based on |
|---|
| 691 | 697 | ipset membership. |
|---|
| 692 | 698 | |
|---|
| .. | .. |
|---|
| 696 | 702 | config NET_EMATCH_IPT |
|---|
| 697 | 703 | tristate "IPtables Matches" |
|---|
| 698 | 704 | depends on NET_EMATCH && NETFILTER && NETFILTER_XTABLES |
|---|
| 699 | | - ---help--- |
|---|
| 705 | + help |
|---|
| 700 | 706 | Say Y here to be able to classify packets based on iptables |
|---|
| 701 | 707 | matches. |
|---|
| 702 | 708 | Current supported match is "policy" which allows packet classification |
|---|
| .. | .. |
|---|
| 708 | 714 | config NET_CLS_ACT |
|---|
| 709 | 715 | bool "Actions" |
|---|
| 710 | 716 | select NET_CLS |
|---|
| 711 | | - ---help--- |
|---|
| 717 | + help |
|---|
| 712 | 718 | Say Y here if you want to use traffic control actions. Actions |
|---|
| 713 | 719 | get attached to classifiers and are invoked after a successful |
|---|
| 714 | 720 | classification. They are used to overwrite the classification |
|---|
| .. | .. |
|---|
| 719 | 725 | |
|---|
| 720 | 726 | config NET_ACT_POLICE |
|---|
| 721 | 727 | tristate "Traffic Policing" |
|---|
| 722 | | - depends on NET_CLS_ACT |
|---|
| 723 | | - ---help--- |
|---|
| 728 | + depends on NET_CLS_ACT |
|---|
| 729 | + help |
|---|
| 724 | 730 | Say Y here if you want to do traffic policing, i.e. strict |
|---|
| 725 | 731 | bandwidth limiting. This action replaces the existing policing |
|---|
| 726 | 732 | module. |
|---|
| .. | .. |
|---|
| 729 | 735 | module will be called act_police. |
|---|
| 730 | 736 | |
|---|
| 731 | 737 | config NET_ACT_GACT |
|---|
| 732 | | - tristate "Generic actions" |
|---|
| 733 | | - depends on NET_CLS_ACT |
|---|
| 734 | | - ---help--- |
|---|
| 738 | + tristate "Generic actions" |
|---|
| 739 | + depends on NET_CLS_ACT |
|---|
| 740 | + help |
|---|
| 735 | 741 | Say Y here to take generic actions such as dropping and |
|---|
| 736 | 742 | accepting packets. |
|---|
| 737 | 743 | |
|---|
| .. | .. |
|---|
| 739 | 745 | module will be called act_gact. |
|---|
| 740 | 746 | |
|---|
| 741 | 747 | config GACT_PROB |
|---|
| 742 | | - bool "Probability support" |
|---|
| 743 | | - depends on NET_ACT_GACT |
|---|
| 744 | | - ---help--- |
|---|
| 748 | + bool "Probability support" |
|---|
| 749 | + depends on NET_ACT_GACT |
|---|
| 750 | + help |
|---|
| 745 | 751 | Say Y here to use the generic action randomly or deterministically. |
|---|
| 746 | 752 | |
|---|
| 747 | 753 | config NET_ACT_MIRRED |
|---|
| 748 | | - tristate "Redirecting and Mirroring" |
|---|
| 749 | | - depends on NET_CLS_ACT |
|---|
| 750 | | - ---help--- |
|---|
| 754 | + tristate "Redirecting and Mirroring" |
|---|
| 755 | + depends on NET_CLS_ACT |
|---|
| 756 | + help |
|---|
| 751 | 757 | Say Y here to allow packets to be mirrored or redirected to |
|---|
| 752 | 758 | other devices. |
|---|
| 753 | 759 | |
|---|
| .. | .. |
|---|
| 755 | 761 | module will be called act_mirred. |
|---|
| 756 | 762 | |
|---|
| 757 | 763 | config NET_ACT_SAMPLE |
|---|
| 758 | | - tristate "Traffic Sampling" |
|---|
| 759 | | - depends on NET_CLS_ACT |
|---|
| 760 | | - select PSAMPLE |
|---|
| 761 | | - ---help--- |
|---|
| 764 | + tristate "Traffic Sampling" |
|---|
| 765 | + depends on NET_CLS_ACT |
|---|
| 766 | + select PSAMPLE |
|---|
| 767 | + help |
|---|
| 762 | 768 | Say Y here to allow packet sampling tc action. The packet sample |
|---|
| 763 | 769 | action consists of statistically choosing packets and sampling |
|---|
| 764 | 770 | them using the psample module. |
|---|
| .. | .. |
|---|
| 767 | 773 | module will be called act_sample. |
|---|
| 768 | 774 | |
|---|
| 769 | 775 | config NET_ACT_IPT |
|---|
| 770 | | - tristate "IPtables targets" |
|---|
| 771 | | - depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES |
|---|
| 772 | | - ---help--- |
|---|
| 776 | + tristate "IPtables targets" |
|---|
| 777 | + depends on NET_CLS_ACT && NETFILTER && NETFILTER_XTABLES |
|---|
| 778 | + help |
|---|
| 773 | 779 | Say Y here to be able to invoke iptables targets after successful |
|---|
| 774 | 780 | classification. |
|---|
| 775 | 781 | |
|---|
| .. | .. |
|---|
| 777 | 783 | module will be called act_ipt. |
|---|
| 778 | 784 | |
|---|
| 779 | 785 | config NET_ACT_NAT |
|---|
| 780 | | - tristate "Stateless NAT" |
|---|
| 781 | | - depends on NET_CLS_ACT |
|---|
| 782 | | - ---help--- |
|---|
| 786 | + tristate "Stateless NAT" |
|---|
| 787 | + depends on NET_CLS_ACT |
|---|
| 788 | + help |
|---|
| 783 | 789 | Say Y here to do stateless NAT on IPv4 packets. You should use |
|---|
| 784 | 790 | netfilter for NAT unless you know what you are doing. |
|---|
| 785 | 791 | |
|---|
| .. | .. |
|---|
| 787 | 793 | module will be called act_nat. |
|---|
| 788 | 794 | |
|---|
| 789 | 795 | config NET_ACT_PEDIT |
|---|
| 790 | | - tristate "Packet Editing" |
|---|
| 791 | | - depends on NET_CLS_ACT |
|---|
| 792 | | - ---help--- |
|---|
| 796 | + tristate "Packet Editing" |
|---|
| 797 | + depends on NET_CLS_ACT |
|---|
| 798 | + help |
|---|
| 793 | 799 | Say Y here if you want to mangle the content of packets. |
|---|
| 794 | 800 | |
|---|
| 795 | 801 | To compile this code as a module, choose M here: the |
|---|
| 796 | 802 | module will be called act_pedit. |
|---|
| 797 | 803 | |
|---|
| 798 | 804 | config NET_ACT_SIMP |
|---|
| 799 | | - tristate "Simple Example (Debug)" |
|---|
| 800 | | - depends on NET_CLS_ACT |
|---|
| 801 | | - ---help--- |
|---|
| 805 | + tristate "Simple Example (Debug)" |
|---|
| 806 | + depends on NET_CLS_ACT |
|---|
| 807 | + help |
|---|
| 802 | 808 | Say Y here to add a simple action for demonstration purposes. |
|---|
| 803 | 809 | It is meant as an example and for debugging purposes. It will |
|---|
| 804 | 810 | print a configured policy string followed by the packet count |
|---|
| .. | .. |
|---|
| 810 | 816 | module will be called act_simple. |
|---|
| 811 | 817 | |
|---|
| 812 | 818 | config NET_ACT_SKBEDIT |
|---|
| 813 | | - tristate "SKB Editing" |
|---|
| 814 | | - depends on NET_CLS_ACT |
|---|
| 815 | | - ---help--- |
|---|
| 819 | + tristate "SKB Editing" |
|---|
| 820 | + depends on NET_CLS_ACT |
|---|
| 821 | + help |
|---|
| 816 | 822 | Say Y here to change skb priority or queue_mapping settings. |
|---|
| 817 | 823 | |
|---|
| 818 | 824 | If unsure, say N. |
|---|
| .. | .. |
|---|
| 821 | 827 | module will be called act_skbedit. |
|---|
| 822 | 828 | |
|---|
| 823 | 829 | config NET_ACT_CSUM |
|---|
| 824 | | - tristate "Checksum Updating" |
|---|
| 825 | | - depends on NET_CLS_ACT && INET |
|---|
| 826 | | - select LIBCRC32C |
|---|
| 827 | | - ---help--- |
|---|
| 830 | + tristate "Checksum Updating" |
|---|
| 831 | + depends on NET_CLS_ACT && INET |
|---|
| 832 | + select LIBCRC32C |
|---|
| 833 | + help |
|---|
| 828 | 834 | Say Y here to update some common checksum after some direct |
|---|
| 829 | 835 | packet alterations. |
|---|
| 830 | 836 | |
|---|
| 831 | 837 | To compile this code as a module, choose M here: the |
|---|
| 832 | 838 | module will be called act_csum. |
|---|
| 833 | 839 | |
|---|
| 840 | +config NET_ACT_MPLS |
|---|
| 841 | + tristate "MPLS manipulation" |
|---|
| 842 | + depends on NET_CLS_ACT |
|---|
| 843 | + help |
|---|
| 844 | + Say Y here to push or pop MPLS headers. |
|---|
| 845 | + |
|---|
| 846 | + If unsure, say N. |
|---|
| 847 | + |
|---|
| 848 | + To compile this code as a module, choose M here: the |
|---|
| 849 | + module will be called act_mpls. |
|---|
| 850 | + |
|---|
| 834 | 851 | config NET_ACT_VLAN |
|---|
| 835 | | - tristate "Vlan manipulation" |
|---|
| 836 | | - depends on NET_CLS_ACT |
|---|
| 837 | | - ---help--- |
|---|
| 852 | + tristate "Vlan manipulation" |
|---|
| 853 | + depends on NET_CLS_ACT |
|---|
| 854 | + help |
|---|
| 838 | 855 | Say Y here to push or pop vlan headers. |
|---|
| 839 | 856 | |
|---|
| 840 | 857 | If unsure, say N. |
|---|
| .. | .. |
|---|
| 843 | 860 | module will be called act_vlan. |
|---|
| 844 | 861 | |
|---|
| 845 | 862 | config NET_ACT_BPF |
|---|
| 846 | | - tristate "BPF based action" |
|---|
| 847 | | - depends on NET_CLS_ACT |
|---|
| 848 | | - ---help--- |
|---|
| 863 | + tristate "BPF based action" |
|---|
| 864 | + depends on NET_CLS_ACT |
|---|
| 865 | + help |
|---|
| 849 | 866 | Say Y here to execute BPF code on packets. The BPF code will decide |
|---|
| 850 | 867 | if the packet should be dropped or not. |
|---|
| 851 | 868 | |
|---|
| .. | .. |
|---|
| 855 | 872 | module will be called act_bpf. |
|---|
| 856 | 873 | |
|---|
| 857 | 874 | config NET_ACT_CONNMARK |
|---|
| 858 | | - tristate "Netfilter Connection Mark Retriever" |
|---|
| 859 | | - depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES |
|---|
| 860 | | - depends on NF_CONNTRACK && NF_CONNTRACK_MARK |
|---|
| 861 | | - ---help--- |
|---|
| 875 | + tristate "Netfilter Connection Mark Retriever" |
|---|
| 876 | + depends on NET_CLS_ACT && NETFILTER |
|---|
| 877 | + depends on NF_CONNTRACK && NF_CONNTRACK_MARK |
|---|
| 878 | + help |
|---|
| 862 | 879 | Say Y here to allow retrieving of conn mark |
|---|
| 863 | 880 | |
|---|
| 864 | 881 | If unsure, say N. |
|---|
| .. | .. |
|---|
| 866 | 883 | To compile this code as a module, choose M here: the |
|---|
| 867 | 884 | module will be called act_connmark. |
|---|
| 868 | 885 | |
|---|
| 886 | +config NET_ACT_CTINFO |
|---|
| 887 | + tristate "Netfilter Connection Mark Actions" |
|---|
| 888 | + depends on NET_CLS_ACT && NETFILTER |
|---|
| 889 | + depends on NF_CONNTRACK && NF_CONNTRACK_MARK |
|---|
| 890 | + help |
|---|
| 891 | + Say Y here to allow transfer of a connmark stored information. |
|---|
| 892 | + Current actions transfer connmark stored DSCP into |
|---|
| 893 | + ipv4/v6 diffserv and/or to transfer connmark to packet |
|---|
| 894 | + mark. Both are useful for restoring egress based marks |
|---|
| 895 | + back onto ingress connections for qdisc priority mapping |
|---|
| 896 | + purposes. |
|---|
| 897 | + |
|---|
| 898 | + If unsure, say N. |
|---|
| 899 | + |
|---|
| 900 | + To compile this code as a module, choose M here: the |
|---|
| 901 | + module will be called act_ctinfo. |
|---|
| 902 | + |
|---|
| 869 | 903 | config NET_ACT_SKBMOD |
|---|
| 870 | | - tristate "skb data modification action" |
|---|
| 871 | | - depends on NET_CLS_ACT |
|---|
| 872 | | - ---help--- |
|---|
| 873 | | - Say Y here to allow modification of skb data |
|---|
| 904 | + tristate "skb data modification action" |
|---|
| 905 | + depends on NET_CLS_ACT |
|---|
| 906 | + help |
|---|
| 907 | + Say Y here to allow modification of skb data |
|---|
| 874 | 908 | |
|---|
| 875 | | - If unsure, say N. |
|---|
| 909 | + If unsure, say N. |
|---|
| 876 | 910 | |
|---|
| 877 | | - To compile this code as a module, choose M here: the |
|---|
| 878 | | - module will be called act_skbmod. |
|---|
| 911 | + To compile this code as a module, choose M here: the |
|---|
| 912 | + module will be called act_skbmod. |
|---|
| 879 | 913 | |
|---|
| 880 | 914 | config NET_ACT_IFE |
|---|
| 881 | | - tristate "Inter-FE action based on IETF ForCES InterFE LFB" |
|---|
| 882 | | - depends on NET_CLS_ACT |
|---|
| 883 | | - select NET_IFE |
|---|
| 884 | | - ---help--- |
|---|
| 915 | + tristate "Inter-FE action based on IETF ForCES InterFE LFB" |
|---|
| 916 | + depends on NET_CLS_ACT |
|---|
| 917 | + select NET_IFE |
|---|
| 918 | + help |
|---|
| 885 | 919 | Say Y here to allow for sourcing and terminating metadata |
|---|
| 886 | 920 | For details refer to netdev01 paper: |
|---|
| 887 | 921 | "Distributing Linux Traffic Control Classifier-Action Subsystem" |
|---|
| .. | .. |
|---|
| 891 | 925 | module will be called act_ife. |
|---|
| 892 | 926 | |
|---|
| 893 | 927 | config NET_ACT_TUNNEL_KEY |
|---|
| 894 | | - tristate "IP tunnel metadata manipulation" |
|---|
| 895 | | - depends on NET_CLS_ACT |
|---|
| 896 | | - ---help--- |
|---|
| 928 | + tristate "IP tunnel metadata manipulation" |
|---|
| 929 | + depends on NET_CLS_ACT |
|---|
| 930 | + help |
|---|
| 897 | 931 | Say Y here to set/release ip tunnel metadata. |
|---|
| 898 | 932 | |
|---|
| 899 | 933 | If unsure, say N. |
|---|
| .. | .. |
|---|
| 901 | 935 | To compile this code as a module, choose M here: the |
|---|
| 902 | 936 | module will be called act_tunnel_key. |
|---|
| 903 | 937 | |
|---|
| 938 | +config NET_ACT_CT |
|---|
| 939 | + tristate "connection tracking tc action" |
|---|
| 940 | + depends on NET_CLS_ACT && NF_CONNTRACK && (!NF_NAT || NF_NAT) && NF_FLOW_TABLE |
|---|
| 941 | + help |
|---|
| 942 | + Say Y here to allow sending the packets to conntrack module. |
|---|
| 943 | + |
|---|
| 944 | + If unsure, say N. |
|---|
| 945 | + |
|---|
| 946 | + To compile this code as a module, choose M here: the |
|---|
| 947 | + module will be called act_ct. |
|---|
| 948 | + |
|---|
| 949 | +config NET_ACT_GATE |
|---|
| 950 | + tristate "Frame gate entry list control tc action" |
|---|
| 951 | + depends on NET_CLS_ACT |
|---|
| 952 | + help |
|---|
| 953 | + Say Y here to allow to control the ingress flow to be passed at |
|---|
| 954 | + specific time slot and be dropped at other specific time slot by |
|---|
| 955 | + the gate entry list. |
|---|
| 956 | + |
|---|
| 957 | + If unsure, say N. |
|---|
| 958 | + To compile this code as a module, choose M here: the |
|---|
| 959 | + module will be called act_gate. |
|---|
| 960 | + |
|---|
| 904 | 961 | config NET_IFE_SKBMARK |
|---|
| 905 | | - tristate "Support to encoding decoding skb mark on IFE action" |
|---|
| 906 | | - depends on NET_ACT_IFE |
|---|
| 962 | + tristate "Support to encoding decoding skb mark on IFE action" |
|---|
| 963 | + depends on NET_ACT_IFE |
|---|
| 907 | 964 | |
|---|
| 908 | 965 | config NET_IFE_SKBPRIO |
|---|
| 909 | | - tristate "Support to encoding decoding skb prio on IFE action" |
|---|
| 910 | | - depends on NET_ACT_IFE |
|---|
| 966 | + tristate "Support to encoding decoding skb prio on IFE action" |
|---|
| 967 | + depends on NET_ACT_IFE |
|---|
| 911 | 968 | |
|---|
| 912 | 969 | config NET_IFE_SKBTCINDEX |
|---|
| 913 | | - tristate "Support to encoding decoding skb tcindex on IFE action" |
|---|
| 914 | | - depends on NET_ACT_IFE |
|---|
| 970 | + tristate "Support to encoding decoding skb tcindex on IFE action" |
|---|
| 971 | + depends on NET_ACT_IFE |
|---|
| 915 | 972 | |
|---|
| 916 | | -config NET_CLS_IND |
|---|
| 917 | | - bool "Incoming device classification" |
|---|
| 918 | | - depends on NET_CLS_U32 || NET_CLS_FW |
|---|
| 919 | | - ---help--- |
|---|
| 920 | | - Say Y here to extend the u32 and fw classifier to support |
|---|
| 921 | | - classification based on the incoming device. This option is |
|---|
| 922 | | - likely to disappear in favour of the metadata ematch. |
|---|
| 973 | +config NET_TC_SKB_EXT |
|---|
| 974 | + bool "TC recirculation support" |
|---|
| 975 | + depends on NET_CLS_ACT |
|---|
| 976 | + select SKB_EXTENSIONS |
|---|
| 977 | + |
|---|
| 978 | + help |
|---|
| 979 | + Say Y here to allow tc chain misses to continue in OvS datapath in |
|---|
| 980 | + the correct recirc_id, and hardware chain misses to continue in |
|---|
| 981 | + the correct chain in tc software datapath. |
|---|
| 982 | + |
|---|
| 983 | + Say N here if you won't be using tc<->ovs offload or tc chains offload. |
|---|
| 923 | 984 | |
|---|
| 924 | 985 | endif # NET_SCHED |
|---|
| 925 | 986 | |
|---|