diff options
author | Mohit P. Tahiliani <tahiliani@nitk.edu.in> | 2020-02-04 16:19:19 +0530 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2020-02-04 03:24:39 -0800 |
commit | 9dced637f8dd269e0a409eb2eec1404d54d517f4 (patch) | |
tree | b268725ac5aedf72a7013649ee95a6ba62717a21 /bash-completion | |
parent | 39995691b51c448b4d58845efc32b65dafcc48d7 (diff) | |
download | iproute2-9dced637f8dd269e0a409eb2eec1404d54d517f4.tar.gz |
tc: add support for FQ-PIE packet scheduler
This patch adds support for the FQ-PIE packet Scheduler
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 ]
[ ecn_prob 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: Stephen Hemminger <stephen@networkplumber.org>
Diffstat (limited to 'bash-completion')
-rw-r--r-- | bash-completion/tc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/bash-completion/tc b/bash-completion/tc index fe0d51ec..086cb7f6 100644 --- a/bash-completion/tc +++ b/bash-completion/tc @@ -3,8 +3,8 @@ # Copyright 2016 Quentin Monnet <quentin.monnet@6wind.com> QDISC_KIND=' choke codel bfifo pfifo pfifo_head_drop fq fq_codel gred hhf \ - mqprio multiq netem pfifo_fast pie red rr sfb sfq tbf atm cbq drr \ - dsmark hfsc htb prio qfq ' + mqprio multiq netem pfifo_fast pie fq_pie red rr sfb sfq tbf atm \ + cbq drr dsmark hfsc htb prio qfq ' FILTER_KIND=' basic bpf cgroup flow flower fw route rsvp tcindex u32 matchall ' ACTION_KIND=' gact mirred bpf sample ' @@ -326,6 +326,14 @@ _tc_qdisc_options() _tc_one_of_list 'dq_rate_estimator no_dq_rate_estimator' return 0 ;; + fq_pie) + _tc_once_attr 'limit flows target tupdate \ + alpha beta quantum memory_limit ecn_prob' + _tc_one_of_list 'ecn noecn' + _tc_one_of_list 'bytemode nobytemode' + _tc_one_of_list 'dq_rate_estimator no_dq_rate_estimator' + return 0 + ;; red) _tc_once_attr 'limit min max avpkt burst adaptive probability \ bandwidth ecn harddrop' |