mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 00:48:50 +00:00
ec97ecf1eb
Principles: - Packets are classified on flows. - This is a Stochastic model (as we use a hash, several flows might be hashed to the same slot) - Each flow has a PIE managed queue. - Flows are linked onto two (Round Robin) lists, so that new flows have priority on old ones. - For a given flow, packets are not reordered. - Drops during enqueue only. - ECN capability is off by default. - ECN threshold (if ECN is enabled) is at 10% by default. - Uses timestamps to calculate queue delay by default. Usage: tc qdisc ... fq_pie [ limit PACKETS ] [ flows NUMBER ] [ target TIME ] [ tupdate TIME ] [ alpha NUMBER ] [ beta NUMBER ] [ quantum BYTES ] [ memory_limit BYTES ] [ ecnprob PERCENTAGE ] [ [no]ecn ] [ [no]bytemode ] [ [no_]dq_rate_estimator ] defaults: limit: 10240 packets, flows: 1024 target: 15 ms, tupdate: 15 ms (in jiffies) alpha: 1/8, beta : 5/4 quantum: device MTU, memory_limit: 32 Mb ecnprob: 10%, ecn: off bytemode: off, dq_rate_estimator: off Signed-off-by: Mohit P. Tahiliani <tahiliani@nitk.edu.in> Signed-off-by: Sachin D. Patil <sdp.sachin@gmail.com> Signed-off-by: V. Saicharan <vsaicharan1998@gmail.com> Signed-off-by: Mohit Bhasi <mohitbhasi1998@gmail.com> Signed-off-by: Leslie Monis <lesliemonis@gmail.com> Signed-off-by: Gautam Ramakrishnan <gautamramk@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
87 lines
3.4 KiB
Makefile
87 lines
3.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the Linux Traffic Control Unit.
|
|
#
|
|
|
|
obj-y := sch_generic.o sch_mq.o
|
|
|
|
obj-$(CONFIG_NET_SCHED) += sch_api.o sch_blackhole.o
|
|
obj-$(CONFIG_NET_CLS) += cls_api.o
|
|
obj-$(CONFIG_NET_CLS_ACT) += act_api.o
|
|
obj-$(CONFIG_NET_ACT_POLICE) += act_police.o
|
|
obj-$(CONFIG_NET_ACT_GACT) += act_gact.o
|
|
obj-$(CONFIG_NET_ACT_MIRRED) += act_mirred.o
|
|
obj-$(CONFIG_NET_ACT_SAMPLE) += act_sample.o
|
|
obj-$(CONFIG_NET_ACT_IPT) += act_ipt.o
|
|
obj-$(CONFIG_NET_ACT_NAT) += act_nat.o
|
|
obj-$(CONFIG_NET_ACT_PEDIT) += act_pedit.o
|
|
obj-$(CONFIG_NET_ACT_SIMP) += act_simple.o
|
|
obj-$(CONFIG_NET_ACT_SKBEDIT) += act_skbedit.o
|
|
obj-$(CONFIG_NET_ACT_CSUM) += act_csum.o
|
|
obj-$(CONFIG_NET_ACT_MPLS) += act_mpls.o
|
|
obj-$(CONFIG_NET_ACT_VLAN) += act_vlan.o
|
|
obj-$(CONFIG_NET_ACT_BPF) += act_bpf.o
|
|
obj-$(CONFIG_NET_ACT_CONNMARK) += act_connmark.o
|
|
obj-$(CONFIG_NET_ACT_CTINFO) += act_ctinfo.o
|
|
obj-$(CONFIG_NET_ACT_SKBMOD) += act_skbmod.o
|
|
obj-$(CONFIG_NET_ACT_IFE) += act_ife.o
|
|
obj-$(CONFIG_NET_IFE_SKBMARK) += act_meta_mark.o
|
|
obj-$(CONFIG_NET_IFE_SKBPRIO) += act_meta_skbprio.o
|
|
obj-$(CONFIG_NET_IFE_SKBTCINDEX) += act_meta_skbtcindex.o
|
|
obj-$(CONFIG_NET_ACT_TUNNEL_KEY)+= act_tunnel_key.o
|
|
obj-$(CONFIG_NET_ACT_CT) += act_ct.o
|
|
obj-$(CONFIG_NET_SCH_FIFO) += sch_fifo.o
|
|
obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
|
|
obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o
|
|
obj-$(CONFIG_NET_SCH_HFSC) += sch_hfsc.o
|
|
obj-$(CONFIG_NET_SCH_RED) += sch_red.o
|
|
obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
|
|
obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
|
|
obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
|
|
obj-$(CONFIG_NET_SCH_SFB) += sch_sfb.o
|
|
obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o
|
|
obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o
|
|
obj-$(CONFIG_NET_SCH_TEQL) += sch_teql.o
|
|
obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o
|
|
obj-$(CONFIG_NET_SCH_MULTIQ) += sch_multiq.o
|
|
obj-$(CONFIG_NET_SCH_ATM) += sch_atm.o
|
|
obj-$(CONFIG_NET_SCH_NETEM) += sch_netem.o
|
|
obj-$(CONFIG_NET_SCH_DRR) += sch_drr.o
|
|
obj-$(CONFIG_NET_SCH_PLUG) += sch_plug.o
|
|
obj-$(CONFIG_NET_SCH_ETS) += sch_ets.o
|
|
obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o
|
|
obj-$(CONFIG_NET_SCH_SKBPRIO) += sch_skbprio.o
|
|
obj-$(CONFIG_NET_SCH_CHOKE) += sch_choke.o
|
|
obj-$(CONFIG_NET_SCH_QFQ) += sch_qfq.o
|
|
obj-$(CONFIG_NET_SCH_CODEL) += sch_codel.o
|
|
obj-$(CONFIG_NET_SCH_FQ_CODEL) += sch_fq_codel.o
|
|
obj-$(CONFIG_NET_SCH_CAKE) += sch_cake.o
|
|
obj-$(CONFIG_NET_SCH_FQ) += sch_fq.o
|
|
obj-$(CONFIG_NET_SCH_HHF) += sch_hhf.o
|
|
obj-$(CONFIG_NET_SCH_PIE) += sch_pie.o
|
|
obj-$(CONFIG_NET_SCH_FQ_PIE) += sch_fq_pie.o
|
|
obj-$(CONFIG_NET_SCH_CBS) += sch_cbs.o
|
|
obj-$(CONFIG_NET_SCH_ETF) += sch_etf.o
|
|
obj-$(CONFIG_NET_SCH_TAPRIO) += sch_taprio.o
|
|
|
|
obj-$(CONFIG_NET_CLS_U32) += cls_u32.o
|
|
obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o
|
|
obj-$(CONFIG_NET_CLS_FW) += cls_fw.o
|
|
obj-$(CONFIG_NET_CLS_RSVP) += cls_rsvp.o
|
|
obj-$(CONFIG_NET_CLS_TCINDEX) += cls_tcindex.o
|
|
obj-$(CONFIG_NET_CLS_RSVP6) += cls_rsvp6.o
|
|
obj-$(CONFIG_NET_CLS_BASIC) += cls_basic.o
|
|
obj-$(CONFIG_NET_CLS_FLOW) += cls_flow.o
|
|
obj-$(CONFIG_NET_CLS_CGROUP) += cls_cgroup.o
|
|
obj-$(CONFIG_NET_CLS_BPF) += cls_bpf.o
|
|
obj-$(CONFIG_NET_CLS_FLOWER) += cls_flower.o
|
|
obj-$(CONFIG_NET_CLS_MATCHALL) += cls_matchall.o
|
|
obj-$(CONFIG_NET_EMATCH) += ematch.o
|
|
obj-$(CONFIG_NET_EMATCH_CMP) += em_cmp.o
|
|
obj-$(CONFIG_NET_EMATCH_NBYTE) += em_nbyte.o
|
|
obj-$(CONFIG_NET_EMATCH_U32) += em_u32.o
|
|
obj-$(CONFIG_NET_EMATCH_META) += em_meta.o
|
|
obj-$(CONFIG_NET_EMATCH_TEXT) += em_text.o
|
|
obj-$(CONFIG_NET_EMATCH_CANID) += em_canid.o
|
|
obj-$(CONFIG_NET_EMATCH_IPSET) += em_ipset.o
|
|
obj-$(CONFIG_NET_EMATCH_IPT) += em_ipt.o
|