.. | .. |
---|
| 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 | |
---|