linux-bk/net/sched/Kconfig
<<
>>
Prefs
   1#
   2# Traffic control configuration.
   3# 
   4choice
   5        prompt "Packet scheduler clock source"
   6        depends on NET_SCHED
   7        default NET_SCH_CLK_JIFFIES
   8        help
   9          Packet schedulers need a monotonic clock that increments at a static
  10          rate. The kernel provides several suitable interfaces, each with
  11          different properties:
  12          
  13          - high resolution (us or better)
  14          - fast to read (minimal locking, no i/o access)
  15          - synchronized on all processors
  16          - handles cpu clock frequency changes
  17
  18          but nothing provides all of the above.
  19
  20config NET_SCH_CLK_JIFFIES
  21        bool "Timer interrupt"
  22        help
  23          Say Y here if you want to use the timer interrupt (jiffies) as clock
  24          source. This clock source is fast, synchronized on all processors and
  25          handles cpu clock frequency changes, but its resolution is too low
  26          for accurate shaping except at very low speed.
  27
  28config NET_SCH_CLK_GETTIMEOFDAY
  29        bool "gettimeofday"
  30        help
  31          Say Y here if you want to use gettimeofday as clock source. This clock
  32          source has high resolution, is synchronized on all processors and
  33          handles cpu clock frequency changes, but it is slow.
  34
  35          Choose this if you need a high resolution clock source but can't use
  36          the CPU's cycle counter.
  37
  38config NET_SCH_CLK_CPU
  39        bool "CPU cycle counter"
  40        depends on X86_TSC || X86_64 || ALPHA || SPARC64 || PPC64 || IA64
  41        help
  42          Say Y here if you want to use the CPU's cycle counter as clock source.
  43          This is a cheap and high resolution clock source, but on some
  44          architectures it is not synchronized on all processors and doesn't
  45          handle cpu clock frequency changes.
  46
  47          The useable cycle counters are:
  48
  49                x86/x86_64      - Timestamp Counter
  50                alpha           - Cycle Counter
  51                sparc64         - %ticks register
  52                ppc64           - Time base
  53                ia64            - Interval Time Counter
  54
  55          Choose this if your CPU's cycle counter is working properly.
  56
  57endchoice
  58
  59config NET_SCH_CBQ
  60        tristate "CBQ packet scheduler"
  61        depends on NET_SCHED
  62        ---help---
  63          Say Y here if you want to use the Class-Based Queueing (CBQ) packet
  64          scheduling algorithm for some of your network devices.  This
  65          algorithm classifies the waiting packets into a tree-like hierarchy
  66          of classes; the leaves of this tree are in turn scheduled by
  67          separate algorithms (called "disciplines" in this context).
  68
  69          See the top of <file:net/sched/sch_cbq.c> for references about the
  70          CBQ algorithm.
  71
  72          CBQ is a commonly used scheduler, so if you're unsure, you should
  73          say Y here. Then say Y to all the queueing algorithms below that you
  74          want to use as CBQ disciplines.  Then say Y to "Packet classifier
  75          API" and say Y to all the classifiers you want to use; a classifier
  76          is a routine that allows you to sort your outgoing traffic into
  77          classes based on a certain criterion.
  78
  79          To compile this code as a module, choose M here: the
  80          module will be called sch_cbq.
  81
  82config NET_SCH_HTB
  83        tristate "HTB packet scheduler"
  84        depends on NET_SCHED
  85        ---help---
  86          Say Y here if you want to use the Hierarchical Token Buckets (HTB)
  87          packet scheduling algorithm for some of your network devices. See
  88          <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and
  89          in-depth articles.
  90
  91          HTB is very similar to the CBQ regarding its goals however is has 
  92          different properties and different algorithm.
  93
  94          To compile this code as a module, choose M here: the
  95          module will be called sch_htb.
  96
  97config NET_SCH_HFSC
  98        tristate "HFSC packet scheduler"
  99        depends on NET_SCHED
 100        ---help---
 101          Say Y here if you want to use the Hierarchical Fair Service Curve
 102          (HFSC) packet scheduling algorithm for some of your network devices.
 103
 104          To compile this code as a module, choose M here: the
 105          module will be called sch_hfsc.
 106
 107#tristate '  H-PFQ packet scheduler' CONFIG_NET_SCH_HPFQ
 108config NET_SCH_ATM
 109        tristate "ATM pseudo-scheduler"
 110        depends on NET_SCHED && ATM
 111        ---help---
 112          Say Y here if you want to use the ATM pseudo-scheduler.  This
 113          provides a framework for invoking classifiers (aka "filters"), which
 114          in turn select classes of this queuing discipline.  Each class maps
 115          the flow(s) it is handling to a given virtual circuit (see the top of
 116          <file:net/sched/sch_atm.c>).
 117
 118          To compile this code as a module, choose M here: the
 119          module will be called sch_atm.
 120
 121config NET_SCH_PRIO
 122        tristate "The simplest PRIO pseudoscheduler"
 123        depends on NET_SCHED
 124        help
 125          Say Y here if you want to use an n-band priority queue packet
 126          "scheduler" for some of your network devices or as a leaf discipline
 127          for the CBQ scheduling algorithm. If unsure, say Y.
 128
 129          To compile this code as a module, choose M here: the
 130          module will be called sch_prio.
 131
 132config NET_SCH_RED
 133        tristate "RED queue"
 134        depends on NET_SCHED
 135        help
 136          Say Y here if you want to use the Random Early Detection (RED)
 137          packet scheduling algorithm for some of your network devices (see
 138          the top of <file:net/sched/sch_red.c> for details and references
 139          about the algorithm).
 140
 141          To compile this code as a module, choose M here: the
 142          module will be called sch_red.
 143
 144config NET_SCH_SFQ
 145        tristate "SFQ queue"
 146        depends on NET_SCHED
 147        ---help---
 148          Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
 149          packet scheduling algorithm for some of your network devices or as a
 150          leaf discipline for the CBQ scheduling algorithm (see the top of
 151          <file:net/sched/sch_sfq.c> for details and references about the SFQ
 152          algorithm).
 153
 154          To compile this code as a module, choose M here: the
 155          module will be called sch_sfq.
 156
 157config NET_SCH_TEQL
 158        tristate "TEQL queue"
 159        depends on NET_SCHED
 160        ---help---
 161          Say Y here if you want to use the True Link Equalizer (TLE) packet
 162          scheduling algorithm for some of your network devices or as a leaf
 163          discipline for the CBQ scheduling algorithm. This queueing
 164          discipline allows the combination of several physical devices into
 165          one virtual device. (see the top of <file:net/sched/sch_teql.c> for
 166          details).
 167
 168          To compile this code as a module, choose M here: the
 169          module will be called sch_teql.
 170
 171config NET_SCH_TBF
 172        tristate "TBF queue"
 173        depends on NET_SCHED
 174        help
 175          Say Y here if you want to use the Simple Token Bucket Filter (TBF)
 176          packet scheduling algorithm for some of your network devices or as a
 177          leaf discipline for the CBQ scheduling algorithm (see the top of
 178          <file:net/sched/sch_tbf.c> for a description of the TBF algorithm).
 179
 180          To compile this code as a module, choose M here: the
 181          module will be called sch_tbf.
 182
 183config NET_SCH_GRED
 184        tristate "GRED queue"
 185        depends on NET_SCHED
 186        help
 187          Say Y here if you want to use the Generic Random Early Detection
 188          (RED) packet scheduling algorithm for some of your network devices
 189          (see the top of <file:net/sched/sch_red.c> for details and
 190          references about the algorithm).
 191
 192          To compile this code as a module, choose M here: the
 193          module will be called sch_gred.
 194
 195config NET_SCH_DSMARK
 196        tristate "Diffserv field marker"
 197        depends on NET_SCHED
 198        help
 199          Say Y if you want to schedule packets according to the
 200          Differentiated Services architecture proposed in RFC 2475.
 201          Technical information on this method, with pointers to associated
 202          RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.
 203
 204          To compile this code as a module, choose M here: the
 205          module will be called sch_dsmark.
 206
 207config NET_SCH_NETEM
 208        tristate "Network emulator"
 209        depends on NET_SCHED
 210        help
 211          Say Y if you want to emulate network delay, loss, and packet
 212          re-ordering. This is often useful to simulate networks when
 213          testing applications or protocols.
 214
 215          To compile this driver as a module, choose M here: the module
 216          will be called sch_netem.
 217
 218          If unsure, say N.
 219
 220config NET_SCH_INGRESS
 221        tristate "Ingress Qdisc"
 222        depends on NET_SCHED 
 223        help
 224          If you say Y here, you will be able to police incoming bandwidth
 225          and drop packets when this bandwidth exceeds your desired rate.
 226          If unsure, say Y.
 227
 228          To compile this code as a module, choose M here: the
 229          module will be called sch_ingress.
 230
 231config NET_QOS
 232        bool "QoS support"
 233        depends on NET_SCHED
 234        ---help---
 235          Say Y here if you want to include Quality Of Service scheduling
 236          features, which means that you will be able to request certain
 237          rate-of-flow limits for your network devices.
 238
 239          This Quality of Service (QoS) support will enable you to use
 240          Differentiated Services (diffserv) and Resource Reservation Protocol
 241          (RSVP) on your Linux router if you also say Y to "Packet classifier
 242          API" and to some classifiers below. Documentation and software is at
 243          <http://diffserv.sourceforge.net/>.
 244
 245          Note that the answer to this question won't directly affect the
 246          kernel: saying N will just cause the configurator to skip all
 247          the questions about QoS support.
 248
 249config NET_ESTIMATOR
 250        bool "Rate estimator"
 251        depends on NET_QOS
 252        help
 253          In order for Quality of Service scheduling to work, the current
 254          rate-of-flow for a network device has to be estimated; if you say Y
 255          here, the kernel will do just that.
 256
 257config NET_CLS
 258        bool "Packet classifier API"
 259        depends on NET_SCHED
 260        ---help---
 261          The CBQ scheduling algorithm requires that network packets which are
 262          scheduled to be sent out over a network device be classified
 263          according to some criterion. If you say Y here, you will get a
 264          choice of several different packet classifiers with the following
 265          questions.
 266
 267          This will enable you to use Differentiated Services (diffserv) and
 268          Resource Reservation Protocol (RSVP) on your Linux router.
 269          Documentation and software is at
 270          <http://diffserv.sourceforge.net/>.
 271
 272config NET_CLS_TCINDEX
 273        tristate "TC index classifier"
 274        depends on NET_CLS
 275        help
 276          If you say Y here, you will be able to classify outgoing packets
 277          according to the tc_index field of the skb. You will want this
 278          feature if you want to implement Differentiated Services using
 279          sch_dsmark. If unsure, say Y.
 280
 281          To compile this code as a module, choose M here: the
 282          module will be called cls_tcindex.
 283
 284config NET_CLS_ROUTE4
 285        tristate "Routing table based classifier"
 286        depends on NET_CLS
 287        select NET_CLS_ROUTE
 288        help
 289          If you say Y here, you will be able to classify outgoing packets
 290          according to the route table entry they matched. If unsure, say Y.
 291
 292          To compile this code as a module, choose M here: the
 293          module will be called cls_route.
 294
 295config NET_CLS_ROUTE
 296        bool
 297        default n
 298
 299config NET_CLS_FW
 300        tristate "Firewall based classifier"
 301        depends on NET_CLS
 302        help
 303          If you say Y here, you will be able to classify outgoing packets
 304          according to firewall criteria you specified.
 305
 306          To compile this code as a module, choose M here: the
 307          module will be called cls_fw.
 308
 309config NET_CLS_U32
 310        tristate "U32 classifier"
 311        depends on NET_CLS
 312        help
 313          If you say Y here, you will be able to classify outgoing packets
 314          according to their destination address. If unsure, say Y.
 315
 316          To compile this code as a module, choose M here: the
 317          module will be called cls_u32.
 318
 319config CLS_U32_PERF
 320        bool "U32 classifier performance counters"
 321        depends on NET_CLS_U32
 322        help
 323          gathers stats that could be used to tune u32 classifier performance.
 324          Requires a new iproute2
 325          You MUST NOT turn this on if you dont have an update iproute2.
 326
 327config NET_CLS_IND
 328        bool "classify input device (slows things u32/fw) "
 329        depends on NET_CLS_U32 || NET_CLS_FW
 330        help
 331          This option will be killed eventually when a 
 332          metadata action appears because it slows things a little
 333          Available only for u32 and fw classifiers.
 334          Requires a new iproute2
 335          You MUST NOT turn this on if you dont have an update iproute2.
 336
 337config CLS_U32_MARK
 338        bool "Use nfmark as a key in U32 classifier"
 339        depends on NET_CLS_U32 && NETFILTER
 340        help
 341          This allows you to match mark in a u32 filter.
 342          Example:
 343          tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 \
 344                match mark 0x0090 0xffff \
 345                match ip dst 4.4.4.4 \
 346                flowid 1:90
 347          You must use a new iproute2 to use this feature.
 348
 349config NET_CLS_RSVP
 350        tristate "Special RSVP classifier"
 351        depends on NET_CLS && NET_QOS
 352        ---help---
 353          The Resource Reservation Protocol (RSVP) permits end systems to
 354          request a minimum and maximum data flow rate for a connection; this
 355          is important for real time data such as streaming sound or video.
 356
 357          Say Y here if you want to be able to classify outgoing packets based
 358          on their RSVP requests.
 359
 360          To compile this code as a module, choose M here: the
 361          module will be called cls_rsvp.
 362
 363config NET_CLS_RSVP6
 364        tristate "Special RSVP classifier for IPv6"
 365        depends on NET_CLS && NET_QOS
 366        ---help---
 367          The Resource Reservation Protocol (RSVP) permits end systems to
 368          request a minimum and maximum data flow rate for a connection; this
 369          is important for real time data such as streaming sound or video.
 370
 371          Say Y here if you want to be able to classify outgoing packets based
 372          on their RSVP requests and you are using the new Internet Protocol
 373          IPv6 as opposed to the older and more common IPv4.
 374
 375          To compile this code as a module, choose M here: the
 376          module will be called cls_rsvp6.
 377
 378config NET_CLS_ACT
 379        bool "Packet ACTION"
 380        depends on EXPERIMENTAL && NET_CLS && NET_QOS
 381        ---help---
 382        This option requires you have a new iproute2. It enables
 383        tc extensions which can be used with tc classifiers.
 384          You MUST NOT turn this on if you dont have an update iproute2.
 385
 386config NET_ACT_POLICE
 387        tristate "Policing Actions"
 388        depends on NET_CLS_ACT 
 389        ---help---
 390        If you are using a newer iproute2 select this one, otherwise use one
 391        below to select a policer.
 392          You MUST NOT turn this on if you dont have an update iproute2.
 393
 394config NET_ACT_GACT
 395        tristate "generic Actions"
 396        depends on NET_CLS_ACT
 397        ---help---
 398        You must have new iproute2 to use this feature.
 399        This adds simple filtering actions like drop, accept etc.
 400
 401config GACT_PROB
 402        bool "generic Actions probability"
 403        depends on NET_ACT_GACT
 404        ---help---
 405        Allows generic actions to be randomly or deterministically used.
 406
 407config NET_ACT_MIRRED
 408        tristate "Packet In/Egress redirecton/mirror Actions"
 409        depends on NET_CLS_ACT
 410        ---help---
 411        requires new iproute2
 412        This allows packets to be mirrored or redirected to netdevices
 413
 414config NET_ACT_IPT
 415        tristate "iptables Actions"
 416        depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
 417        ---help---
 418        requires new iproute2
 419        This allows iptables targets to be used by tc filters
 420
 421config NET_ACT_PEDIT
 422        tristate "Generic Packet Editor Actions"
 423        depends on NET_CLS_ACT
 424        ---help---
 425        requires new iproute2
 426        This allows for packets to be generically edited
 427
 428config NET_CLS_POLICE
 429        bool "Traffic policing (needed for in/egress)"
 430        depends on NET_CLS && NET_QOS && NET_CLS_ACT!=y
 431        help
 432          Say Y to support traffic policing (bandwidth limits).  Needed for
 433          ingress and egress rate limiting.
 434
 435
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.