OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [net/] [sched/] [Kconfig] - Rev 3

Compare with Previous | Blame | View Log

#
# Traffic control configuration.
# 

menuconfig NET_SCHED
        bool "QoS and/or fair queueing"
        select NET_SCH_FIFO
        ---help---
          When the kernel has several packets to send out over a network
          device, it has to decide which ones to send first, which ones to
          delay, and which ones to drop. This is the job of the queueing
          disciplines, several different algorithms for how to do this
          "fairly" have been proposed.

          If you say N here, you will get the standard packet scheduler, which
          is a FIFO (first come, first served). If you say Y here, you will be
          able to choose from among several alternative algorithms which can
          then be attached to different network devices. This is useful for
          example if some of your network devices are real time devices that
          need a certain minimum data flow rate, or if you need to limit the
          maximum data flow rate for traffic which matches specified criteria.
          This code is considered to be experimental.

          To administer these schedulers, you'll need the user-level utilities
          from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
          That package also contains some documentation; for more, check out
          <http://linux-net.osdl.org/index.php/Iproute2>.

          This Quality of Service (QoS) support will enable you to use
          Differentiated Services (diffserv) and Resource Reservation Protocol
          (RSVP) on your Linux router if you also say Y to the corresponding
          classifiers below.  Documentation and software is at
          <http://diffserv.sourceforge.net/>.

          If you say Y here and to "/proc file system" below, you will be able
          to read status information about packet schedulers from the file
          /proc/net/psched.

          The available schedulers are listed in the following questions; you
          can say Y to as many as you like. If unsure, say N now.

if NET_SCHED

comment "Queueing/Scheduling"

config NET_SCH_CBQ
        tristate "Class Based Queueing (CBQ)"
        ---help---
          Say Y here if you want to use the Class-Based Queueing (CBQ) packet
          scheduling algorithm. This algorithm classifies the waiting packets
          into a tree-like hierarchy of classes; the leaves of this tree are
          in turn scheduled by separate algorithms.

          See the top of <file:net/sched/sch_cbq.c> for more details.

          CBQ is a commonly used scheduler, so if you're unsure, you should
          say Y here. Then say Y to all the queueing algorithms below that you
          want to use as leaf disciplines.

          To compile this code as a module, choose M here: the
          module will be called sch_cbq.

config NET_SCH_HTB
        tristate "Hierarchical Token Bucket (HTB)"
        ---help---
          Say Y here if you want to use the Hierarchical Token Buckets (HTB)
          packet scheduling algorithm. See
          <http://luxik.cdi.cz/~devik/qos/htb/> for complete manual and
          in-depth articles.

          HTB is very similar to CBQ regarding its goals however is has
          different properties and different algorithm.

          To compile this code as a module, choose M here: the
          module will be called sch_htb.

config NET_SCH_HFSC
        tristate "Hierarchical Fair Service Curve (HFSC)"
        ---help---
          Say Y here if you want to use the Hierarchical Fair Service Curve
          (HFSC) packet scheduling algorithm.

          To compile this code as a module, choose M here: the
          module will be called sch_hfsc.

config NET_SCH_ATM
        tristate "ATM Virtual Circuits (ATM)"
        depends on ATM
        ---help---
          Say Y here if you want to use the ATM pseudo-scheduler.  This
          provides a framework for invoking classifiers, which in turn
          select classes of this queuing discipline.  Each class maps
          the flow(s) it is handling to a given virtual circuit.

          See the top of <file:net/sched/sch_atm.c> for more details.

          To compile this code as a module, choose M here: the
          module will be called sch_atm.

config NET_SCH_PRIO
        tristate "Multi Band Priority Queueing (PRIO)"
        ---help---
          Say Y here if you want to use an n-band priority queue packet
          scheduler.

          To compile this code as a module, choose M here: the
          module will be called sch_prio.

config NET_SCH_RR
        tristate "Multi Band Round Robin Queuing (RR)"
        select NET_SCH_PRIO
        ---help---
          Say Y here if you want to use an n-band round robin packet
          scheduler.

          The module uses sch_prio for its framework and is aliased as
          sch_rr, so it will load sch_prio, although it is referred
          to using sch_rr.

config NET_SCH_RED
        tristate "Random Early Detection (RED)"
        ---help---
          Say Y here if you want to use the Random Early Detection (RED)
          packet scheduling algorithm.

          See the top of <file:net/sched/sch_red.c> for more details.

          To compile this code as a module, choose M here: the
          module will be called sch_red.

config NET_SCH_SFQ
        tristate "Stochastic Fairness Queueing (SFQ)"
        ---help---
          Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
          packet scheduling algorithm.

          See the top of <file:net/sched/sch_sfq.c> for more details.

          To compile this code as a module, choose M here: the
          module will be called sch_sfq.

config NET_SCH_TEQL
        tristate "True Link Equalizer (TEQL)"
        ---help---
          Say Y here if you want to use the True Link Equalizer (TLE) packet
          scheduling algorithm. This queueing discipline allows the combination
          of several physical devices into one virtual device.

          See the top of <file:net/sched/sch_teql.c> for more details.

          To compile this code as a module, choose M here: the
          module will be called sch_teql.

config NET_SCH_TBF
        tristate "Token Bucket Filter (TBF)"
        ---help---
          Say Y here if you want to use the Token Bucket Filter (TBF) packet
          scheduling algorithm.

          See the top of <file:net/sched/sch_tbf.c> for more details.

          To compile this code as a module, choose M here: the
          module will be called sch_tbf.

config NET_SCH_GRED
        tristate "Generic Random Early Detection (GRED)"
        ---help---
          Say Y here if you want to use the Generic Random Early Detection
          (GRED) packet scheduling algorithm for some of your network devices
          (see the top of <file:net/sched/sch_red.c> for details and
          references about the algorithm).

          To compile this code as a module, choose M here: the
          module will be called sch_gred.

config NET_SCH_DSMARK
        tristate "Differentiated Services marker (DSMARK)"
        ---help---
          Say Y if you want to schedule packets according to the
          Differentiated Services architecture proposed in RFC 2475.
          Technical information on this method, with pointers to associated
          RFCs, is available at <http://www.gta.ufrj.br/diffserv/>.

          To compile this code as a module, choose M here: the
          module will be called sch_dsmark.

config NET_SCH_NETEM
        tristate "Network emulator (NETEM)"
        ---help---
          Say Y if you want to emulate network delay, loss, and packet
          re-ordering. This is often useful to simulate networks when
          testing applications or protocols.

          To compile this driver as a module, choose M here: the module
          will be called sch_netem.

          If unsure, say N.

config NET_SCH_INGRESS
        tristate "Ingress Qdisc"
        ---help---
          Say Y here if you want to use classifiers for incoming packets.
          If unsure, say Y.

          To compile this code as a module, choose M here: the
          module will be called sch_ingress.

comment "Classification"

config NET_CLS
        boolean

config NET_CLS_BASIC
        tristate "Elementary classification (BASIC)"
        select NET_CLS
        ---help---
          Say Y here if you want to be able to classify packets using
          only extended matches and actions.

          To compile this code as a module, choose M here: the
          module will be called cls_basic.

config NET_CLS_TCINDEX
        tristate "Traffic-Control Index (TCINDEX)"
        select NET_CLS
        ---help---
          Say Y here if you want to be able to classify packets based on
          traffic control indices. You will want this feature if you want
          to implement Differentiated Services together with DSMARK.

          To compile this code as a module, choose M here: the
          module will be called cls_tcindex.

config NET_CLS_ROUTE4
        tristate "Routing decision (ROUTE)"
        select NET_CLS_ROUTE
        select NET_CLS
        ---help---
          If you say Y here, you will be able to classify packets
          according to the route table entry they matched.

          To compile this code as a module, choose M here: the
          module will be called cls_route.

config NET_CLS_ROUTE
        bool

config NET_CLS_FW
        tristate "Netfilter mark (FW)"
        select NET_CLS
        ---help---
          If you say Y here, you will be able to classify packets
          according to netfilter/firewall marks.

          To compile this code as a module, choose M here: the
          module will be called cls_fw.

config NET_CLS_U32
        tristate "Universal 32bit comparisons w/ hashing (U32)"
        select NET_CLS
        ---help---
          Say Y here to be able to classify packets using a universal
          32bit pieces based comparison scheme.

          To compile this code as a module, choose M here: the
          module will be called cls_u32.

config CLS_U32_PERF
        bool "Performance counters support"
        depends on NET_CLS_U32
        ---help---
          Say Y here to make u32 gather additional statistics useful for
          fine tuning u32 classifiers.

config CLS_U32_MARK
        bool "Netfilter marks support"
        depends on NET_CLS_U32
        ---help---
          Say Y here to be able to use netfilter marks as u32 key.

config NET_CLS_RSVP
        tristate "IPv4 Resource Reservation Protocol (RSVP)"
        select NET_CLS
        ---help---
          The Resource Reservation Protocol (RSVP) permits end systems to
          request a minimum and maximum data flow rate for a connection; this
          is important for real time data such as streaming sound or video.

          Say Y here if you want to be able to classify outgoing packets based
          on their RSVP requests.

          To compile this code as a module, choose M here: the
          module will be called cls_rsvp.

config NET_CLS_RSVP6
        tristate "IPv6 Resource Reservation Protocol (RSVP6)"
        select NET_CLS
        ---help---
          The Resource Reservation Protocol (RSVP) permits end systems to
          request a minimum and maximum data flow rate for a connection; this
          is important for real time data such as streaming sound or video.

          Say Y here if you want to be able to classify outgoing packets based
          on their RSVP requests and you are using the IPv6 protocol.

          To compile this code as a module, choose M here: the
          module will be called cls_rsvp6.

config NET_EMATCH
        bool "Extended Matches"
        select NET_CLS
        ---help---
          Say Y here if you want to use extended matches on top of classifiers
          and select the extended matches below.

          Extended matches are small classification helpers not worth writing
          a separate classifier for.

          A recent version of the iproute2 package is required to use
          extended matches.

config NET_EMATCH_STACK
        int "Stack size"
        depends on NET_EMATCH
        default "32"
        ---help---
          Size of the local stack variable used while evaluating the tree of
          ematches. Limits the depth of the tree, i.e. the number of
          encapsulated precedences. Every level requires 4 bytes of additional
          stack space.

config NET_EMATCH_CMP
        tristate "Simple packet data comparison"
        depends on NET_EMATCH
        ---help---
          Say Y here if you want to be able to classify packets based on
          simple packet data comparisons for 8, 16, and 32bit values.

          To compile this code as a module, choose M here: the
          module will be called em_cmp.

config NET_EMATCH_NBYTE
        tristate "Multi byte comparison"
        depends on NET_EMATCH
        ---help---
          Say Y here if you want to be able to classify packets based on
          multiple byte comparisons mainly useful for IPv6 address comparisons.

          To compile this code as a module, choose M here: the
          module will be called em_nbyte.

config NET_EMATCH_U32
        tristate "U32 key"
        depends on NET_EMATCH
        ---help---
          Say Y here if you want to be able to classify packets using
          the famous u32 key in combination with logic relations.

          To compile this code as a module, choose M here: the
          module will be called em_u32.

config NET_EMATCH_META
        tristate "Metadata"
        depends on NET_EMATCH
        ---help---
          Say Y here if you want to be able to classify packets based on
          metadata such as load average, netfilter attributes, socket
          attributes and routing decisions.

          To compile this code as a module, choose M here: the
          module will be called em_meta.

config NET_EMATCH_TEXT
        tristate "Textsearch"
        depends on NET_EMATCH
        select TEXTSEARCH
        select TEXTSEARCH_KMP
        select TEXTSEARCH_BM
        select TEXTSEARCH_FSM
        ---help---
          Say Y here if you want to be able to classify packets based on
          textsearch comparisons.

          To compile this code as a module, choose M here: the
          module will be called em_text.

config NET_CLS_ACT
        bool "Actions"
        ---help---
          Say Y here if you want to use traffic control actions. Actions
          get attached to classifiers and are invoked after a successful
          classification. They are used to overwrite the classification
          result, instantly drop or redirect packets, etc.

          A recent version of the iproute2 package is required to use
          extended matches.

config NET_ACT_POLICE
        tristate "Traffic Policing"
        depends on NET_CLS_ACT 
        ---help---
          Say Y here if you want to do traffic policing, i.e. strict
          bandwidth limiting. This action replaces the existing policing
          module.

          To compile this code as a module, choose M here: the
          module will be called police.

config NET_ACT_GACT
        tristate "Generic actions"
        depends on NET_CLS_ACT
        ---help---
          Say Y here to take generic actions such as dropping and
          accepting packets.

          To compile this code as a module, choose M here: the
          module will be called gact.

config GACT_PROB
        bool "Probability support"
        depends on NET_ACT_GACT
        ---help---
          Say Y here to use the generic action randomly or deterministically.

config NET_ACT_MIRRED
        tristate "Redirecting and Mirroring"
        depends on NET_CLS_ACT
        ---help---
          Say Y here to allow packets to be mirrored or redirected to
          other devices.

          To compile this code as a module, choose M here: the
          module will be called mirred.

config NET_ACT_IPT
        tristate "IPtables targets"
        depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
        ---help---
          Say Y here to be able to invoke iptables targets after successful
          classification.

          To compile this code as a module, choose M here: the
          module will be called ipt.

config NET_ACT_NAT
        tristate "Stateless NAT"
        depends on NET_CLS_ACT
        select NETFILTER
        ---help---
          Say Y here to do stateless NAT on IPv4 packets.  You should use
          netfilter for NAT unless you know what you are doing.

          To compile this code as a module, choose M here: the
          module will be called nat.

config NET_ACT_PEDIT
        tristate "Packet Editing"
        depends on NET_CLS_ACT
        ---help---
          Say Y here if you want to mangle the content of packets.

          To compile this code as a module, choose M here: the
          module will be called pedit.

config NET_ACT_SIMP
        tristate "Simple Example (Debug)"
        depends on NET_CLS_ACT
        ---help---
          Say Y here to add a simple action for demonstration purposes.
          It is meant as an example and for debugging purposes. It will
          print a configured policy string followed by the packet count
          to the console for every packet that passes by.

          If unsure, say N.

          To compile this code as a module, choose M here: the
          module will be called simple.

config NET_CLS_POLICE
        bool "Traffic Policing (obsolete)"
        select NET_CLS_ACT
        select NET_ACT_POLICE
        ---help---
          Say Y here if you want to do traffic policing, i.e. strict
          bandwidth limiting. This option is obsolete and just selects
          the option replacing it. It will be removed in the future.

config NET_CLS_IND
        bool "Incoming device classification"
        depends on NET_CLS_U32 || NET_CLS_FW
        ---help---
          Say Y here to extend the u32 and fw classifier to support
          classification based on the incoming device. This option is
          likely to disappear in favour of the metadata ematch.

endif # NET_SCHED

config NET_SCH_FIFO
        bool

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.