1 # 2 # Traffic control configuration. 3 # 4 config NET_SCH_CBQ 5 tristate "CBQ packet scheduler" 6 depends on NET_SCHED 7 ---help--- 8 Say Y here if you want to use the Class-Based Queueing (CBQ) packet 9 scheduling algorithm for some of your network devices. This 10 algorithm classifies the waiting packets into a tree-like hierarchy 11 of classes; the leaves of this tree are in turn scheduled by 12 separate algorithms (called "disciplines" in this context). 13 14 See the top of <file:net/sched/sch_cbq.c> for references about the 15 CBQ algorithm. 16 17 CBQ is a commonly used scheduler, so if you're unsure, you should 18 say Y here. Then say Y to all the queueing algorithms below that you 19 want to use as CBQ disciplines. Then say Y to "Packet classifier 20 API" and say Y to all the classifiers you want to use; a classifier 21 is a routine that allows you to sort your outgoing traffic into 22 classes based on a certain criterion. 23 24 To compile this code as a module, choose M here: the 25 module will be called sch_cbq. 26 27 config NET_SCH_HTB 28 tristate "HTB packet scheduler" 29 depends on NET_SCHED 30 ---help--- 31 Say Y here if you want to use the Hierarchical Token Buckets (HTB) 32 packet scheduling algorithm for some of your network devices. See 33 URL http://luxik.cdi.cz/~devik/qos/htb/ for complete manual and 34 in-depth articles. 35 36 HTB is very similar to the CBQ regarding its goals however is has 37 different properties and different algorithm. 38 39 To compile this code as a module, choose M here: the 40 module will be called sch_htb. 41 42 config NET_SCH_CSZ 43 tristate "CSZ packet scheduler" 44 depends on NET_SCHED 45 ---help--- 46 Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet 47 scheduling algorithm for some of your network devices. At the 48 moment, this is the only algorithm that can guarantee service for 49 real-time applications (see the top of <file:net/sched/sch_csz.c> 50 for details and references about the algorithm). 51 52 Note: this scheduler is currently broken. 53 54 To compile this code as a module, choose M here: the 55 module will be called sch_csz. 56 57 #tristate ' H-PFQ packet scheduler' CONFIG_NET_SCH_HPFQ 58 #tristate ' H-FSC packet scheduler' CONFIG_NET_SCH_HFCS 59 config NET_SCH_ATM 60 tristate "ATM pseudo-scheduler" 61 depends on NET_SCHED && ATM 62 ---help--- 63 Say Y here if you want to use the ATM pseudo-scheduler. This 64 provides a framework for invoking classifiers (aka "filters"), which 65 in turn select classes of this queuing discipline. Each class maps 66 the flow(s) it is handling to a given virtual circuit (see the top of 67 <file:net/sched/sch_atm.c>). 68 69 To compile this code as a module, choose M here: the 70 module will be called sch_atm. 71 72 config NET_SCH_PRIO 73 tristate "The simplest PRIO pseudoscheduler" 74 depends on NET_SCHED 75 help 76 Say Y here if you want to use an n-band priority queue packet 77 "scheduler" for some of your network devices or as a leaf discipline 78 for the CBQ scheduling algorithm. If unsure, say Y. 79 80 To compile this code as a module, choose M here: the 81 module will be called sch_prio. 82 83 config NET_SCH_RED 84 tristate "RED queue" 85 depends on NET_SCHED 86 help 87 Say Y here if you want to use the Random Early Detection (RED) 88 packet scheduling algorithm for some of your network devices (see 89 the top of <file:net/sched/sch_red.c> for details and references 90 about the algorithm). 91 92 To compile this code as a module, choose M here: the 93 module will be called sch_red. 94 95 config NET_SCH_SFQ 96 tristate "SFQ queue" 97 depends on NET_SCHED 98 ---help--- 99 Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) 100 packet scheduling algorithm for some of your network devices or as a 101 leaf discipline for the CBQ scheduling algorithm (see the top of 102 <file:net/sched/sch_sfq.c> for details and references about the SFQ 103 algorithm). 104 105 To compile this code as a module, choose M here: the 106 module will be called sch_sfq. 107 108 config NET_SCH_TEQL 109 tristate "TEQL queue" 110 depends on NET_SCHED 111 ---help--- 112 Say Y here if you want to use the True Link Equalizer (TLE) packet 113 scheduling algorithm for some of your network devices or as a leaf 114 discipline for the CBQ scheduling algorithm. This queueing 115 discipline allows the combination of several physical devices into 116 one virtual device. (see the top of <file:net/sched/sch_teql.c> for 117 details). 118 119 To compile this code as a module, choose M here: the 120 module will be called sch_teql. 121 122 config NET_SCH_TBF 123 tristate "TBF queue" 124 depends on NET_SCHED 125 help 126 Say Y here if you want to use the Simple Token Bucket Filter (TBF) 127 packet scheduling algorithm for some of your network devices or as a 128 leaf discipline for the CBQ scheduling algorithm (see the top of 129 <file:net/sched/sch_tbf.c> for a description of the TBF algorithm). 130 131 To compile this code as a module, choose M here: the 132 module will be called sch_tbf. 133 134 config NET_SCH_GRED 135 tristate "GRED queue" 136 depends on NET_SCHED 137 help 138 Say Y here if you want to use the Generic Random Early Detection 139 (RED) packet scheduling algorithm for some of your network devices 140 (see the top of <file:net/sched/sch_red.c> for details and 141 references about the algorithm). 142 143 To compile this code as a module, choose M here: the 144 module will be called sch_gred. 145 146 config NET_SCH_DSMARK 147 tristate "Diffserv field marker" 148 depends on NET_SCHED 149 help 150 Say Y if you want to schedule packets according to the 151 Differentiated Services architecture proposed in RFC 2475. 152 Technical information on this method, with pointers to associated 153 RFCs, is available at <http://www.gta.ufrj.br/diffserv/>. 154 155 To compile this code as a module, choose M here: the 156 module will be called sch_dsmark. 157 158 config NET_SCH_INGRESS 159 tristate "Ingress Qdisc" 160 depends on NET_SCHED && NETFILTER 161 help 162 If you say Y here, you will be able to police incoming bandwidth 163 and drop packets when this bandwidth exceeds your desired rate. 164 If unsure, say Y. 165 166 To compile this code as a module, choose M here: the 167 module will be called cls_ingress. 168 169 config NET_QOS 170 bool "QoS support" 171 depends on NET_SCHED 172 ---help--- 173 Say Y here if you want to include Quality Of Service scheduling 174 features, which means that you will be able to request certain 175 rate-of-flow limits for your network devices. 176 177 This Quality of Service (QoS) support will enable you to use 178 Differentiated Services (diffserv) and Resource Reservation Protocol 179 (RSVP) on your Linux router if you also say Y to "Packet classifier 180 API" and to some classifiers below. Documentation and software is at 181 <http://diffserv.sourceforge.net/>. 182 183 Note that the answer to this question won't directly affect the 184 kernel: saying N will just cause the configurator to skip all 185 the questions about QoS support. 186 187 config NET_ESTIMATOR 188 bool "Rate estimator" 189 depends on NET_QOS 190 help 191 In order for Quality of Service scheduling to work, the current 192 rate-of-flow for a network device has to be estimated; if you say Y 193 here, the kernel will do just that. 194 195 config NET_CLS 196 bool "Packet classifier API" 197 depends on NET_SCHED 198 ---help--- 199 The CBQ scheduling algorithm requires that network packets which are 200 scheduled to be sent out over a network device be classified 201 according to some criterion. If you say Y here, you will get a 202 choice of several different packet classifiers with the following 203 questions. 204 205 This will enable you to use Differentiated Services (diffserv) and 206 Resource Reservation Protocol (RSVP) on your Linux router. 207 Documentation and software is at 208 <http://diffserv.sourceforge.net/>. 209 210 config NET_CLS_TCINDEX 211 tristate "TC index classifier" 212 depends on NET_CLS 213 help 214 If you say Y here, you will be able to classify outgoing packets 215 according to the tc_index field of the skb. You will want this 216 feature if you want to implement Differentiated Services using 217 sch_dsmark. If unsure, say Y. 218 219 To compile this code as a module, choose M here: the 220 module will be called cls_tcindex. 221 222 config NET_CLS_ROUTE4 223 tristate "Routing table based classifier" 224 depends on NET_CLS 225 help 226 If you say Y here, you will be able to classify outgoing packets 227 according to the route table entry they matched. If unsure, say Y. 228 229 To compile this code as a module, choose M here: the 230 module will be called cls_route. 231 232 config NET_CLS_ROUTE 233 bool 234 depends on NET_CLS_ROUTE4 235 default y 236 237 config NET_CLS_FW 238 tristate "Firewall based classifier" 239 depends on NET_CLS 240 help 241 If you say Y here, you will be able to classify outgoing packets 242 according to firewall criteria you specified. 243 244 To compile this code as a module, choose M here: the 245 module will be called cls_fw. 246 247 config NET_CLS_U32 248 tristate "U32 classifier" 249 depends on NET_CLS 250 help 251 If you say Y here, you will be able to classify outgoing packets 252 according to their destination address. If unsure, say Y. 253 254 To compile this code as a module, choose M here: the 255 module will be called cls_u32. 256 257 config NET_CLS_RSVP 258 tristate "Special RSVP classifier" 259 depends on NET_CLS && NET_QOS 260 ---help--- 261 The Resource Reservation Protocol (RSVP) permits end systems to 262 request a minimum and maximum data flow rate for a connection; this 263 is important for real time data such as streaming sound or video. 264 265 Say Y here if you want to be able to classify outgoing packets based 266 on their RSVP requests. 267 268 To compile this code as a module, choose M here: the 269 module will be called cls_rsvp. 270 271 config NET_CLS_RSVP6 272 tristate "Special RSVP classifier for IPv6" 273 depends on NET_CLS && NET_QOS 274 ---help--- 275 The Resource Reservation Protocol (RSVP) permits end systems to 276 request a minimum and maximum data flow rate for a connection; this 277 is important for real time data such as streaming sound or video. 278 279 Say Y here if you want to be able to classify outgoing packets based 280 on their RSVP requests and you are using the new Internet Protocol 281 IPv6 as opposed to the older and more common IPv4. 282 283 To compile this code as a module, choose M here: the 284 module will be called cls_rsvp6. 285 286 config NET_CLS_POLICE 287 bool "Traffic policing (needed for in/egress)" 288 depends on NET_CLS && NET_QOS 289 help 290 Say Y to support traffic policing (bandwidth limits). Needed for 291 ingress and egress rate limiting. 292
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.