123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- # This file is part of the OpenADK project. OpenADK is copyrighted
- # material, please see the LICENCE file in the top-level directory.
- menu "QoS and/or fair queueing"
- config ADK_LINUX_KERNEL_NET_SCH_CSZ
- bool
- config ADK_LINUX_KERNEL_NET_SCH_NETEM
- bool
- config ADK_LINUX_KERNEL_NET_QOS
- bool
- config ADK_LINUX_KERNEL_NET_ESTIMATOR
- bool
- config ADK_LINUX_KERNEL_NET_SCHED
- bool
- 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/>.
- comment "Queueing/Scheduling"
- config ADK_LINUX_KERNEL_NET_SCH_CBQ
- tristate "Class Based Queueing (CBQ)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_HTB
- tristate "Hierarchical Token Bucket (HTB)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_HFSC
- tristate "Hierarchical Fair Service Curve (HFSC)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- help
- Say Y here if you want to use the Hierarchical Fair Service Curve
- (HFSC) packet scheduling algorithm.
- config ADK_LINUX_KERNEL_NET_SCH_ATM
- tristate "ATM Virtual Circuits (ATM)"
- depends on ADK_LINUX_KERNEL_ATM
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_PRIO
- tristate "Multi Band Priority Queueing (PRIO)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- help
- Say Y here if you want to use an n-band priority queue packet
- scheduler.
- config ADK_LINUX_KERNEL_NET_SCH_RED
- tristate "Random Early Detection (RED)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_SFQ
- tristate "Stochastic Fairness Queueing (SFQ)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_TBF
- tristate "Token Bucket Filter (TBF)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_SCH_GRED
- tristate "Generic Random Early Detection (GRED)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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).
- config ADK_LINUX_KERNEL_NET_SCH_DSMARK
- tristate "Differentiated Services marker (DSMARK)"
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- 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/>.
- config ADK_LINUX_KERNEL_NET_SCH_INGRESS
- tristate "Ingress Qdisc"
- select ADK_LINUX_KERNEL_NET_SCHED
- select ADK_LINUX_KERNEL_NETFILTER
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- default n
- help
- Say Y here if you want to use classifiers for incoming packets.
- If unsure, say Y.
- comment "Classification"
- config ADK_LINUX_KERNEL_NET_CLS
- bool
- select ADK_LINUX_KERNEL_NET_SCHED
- default n
- config ADK_LINUX_KERNEL_NET_CLS_BASIC
- tristate "Elementary classification (BASIC)"
- select ADK_LINUX_KERNEL_NET_CLS
- default n
- help
- Say Y here if you want to be able to classify packets using
- only extended matches and actions.
- config ADK_LINUX_KERNEL_NET_CLS_TCINDEX
- tristate "Traffic-Control Index (TCINDEX)"
- select ADK_LINUX_KERNEL_NET_CLS
- default n
- 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.
- config ADK_LINUX_KERNEL_NET_CLS_ROUTE4
- tristate "Routing decision (ROUTE)"
- select ADK_LINUX_KERNEL_NET_CLS
- default n
- help
- If you say Y here, you will be able to classify packets
- according to the route table entry they matched.
- config ADK_LINUX_KERNEL_NET_CLS_FW
- tristate "Netfilter mark (FW)"
- select ADK_LINUX_KERNEL_NET_CLS
- default n
- help
- If you say Y here, you will be able to classify packets
- according to netfilter/firewall marks.
- config ADK_LINUX_KERNEL_NET_CLS_U32
- tristate "Universal 32bit comparisons w/ hashing (U32)"
- select ADK_LINUX_KERNEL_NET_CLS
- default n
- help
- Say Y here to be able to classify packets using a universal
- 32bit pieces based comparison scheme.
- config ADK_LINUX_KERNEL_NET_CLS_U32_PERF
- bool "Performance counters support"
- select ADK_LINUX_KERNEL_NET_CLS
- depends on ADK_LINUX_KERNEL_NET_CLS_U32
- default n
- help
- Say Y here to make u32 gather additional statistics useful for
- fine tuning u32 classifiers.
- config ADK_LINUX_KERNEL_NET_CLS_U32_MARK
- bool "Netfilter marks support"
- select ADK_LINUX_KERNEL_NET_CLS
- depends on ADK_LINUX_KERNEL_NET_CLS_U32
- depends on ADK_LINUX_KERNEL_NET_CLS_FW
- default n
- help
- Say Y here to be able to use netfilter marks as u32 key.
- comment "Actions"
- config ADK_LINUX_KERNEL_NET_CLS_ACT
- bool
- select ADK_LINUX_KERNEL_NET_SCHED
- select ADK_LINUX_KERNEL_NET_ESTIMATOR
- default n
- config ADK_LINUX_KERNEL_NET_ACT_POLICE
- tristate "Traffic Policing"
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- default n
- help
- Say Y here if you want to do traffic policing, i.e. strict
- bandwidth limiting. This action replaces the existing policing
- module.
- config ADK_LINUX_KERNEL_NET_ACT_GACT
- tristate "Generic actions"
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- default n
- help
- Say Y here to take generic actions such as dropping and
- accepting packets.
- config ADK_LINUX_KERNEL_NET_ACT_MIRRED
- tristate "Redirecting and Mirroring"
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- default n
- help
- Say Y here to allow packets to be mirrored or redirected to
- other devices.
- config ADK_LINUX_KERNEL_NET_ACT_IPT
- tristate "IPtables targets"
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- select ADK_LINUX_KERNEL_IP_NF_IPTABLES
- default n
- help
- Say Y here to be able to invoke iptables targets after successful
- classification.
- config ADK_LINUX_KERNEL_NET_ACT_PEDIT
- tristate "Packet Editing"
- select ADK_LINUX_KERNEL_NET_CLS_ACT
- default n
- help
- Say Y here if you want to mangle the content of packets.
- endmenu
|