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