Hello LARTC community,
I am building a TC policy at home that answers my needs for a
small DSL uplink 800kbit:
* High UDP responsiveness for DNS queries and ping (Leaf 1:10 prio 1)
* SSH traffic gets higher priority. I view my camera remotely via
ssh tunnel (Leaf 1:20 prio 2)
* Guarantied http(s)/IMAP (Leaf 1:30 prio 3)
* Torrent seeding (Leaf 1:40 prio 4)
* Default (Leaf 1:99 prio 5)
* Gigabit local network (Leaf 1:1000 prio 1000)
The problem is torrent traffic consumes all the bandwidth leaving
little room for SSH traffic (<100kbit). See attached picture.
SSH traffic class with higher priority than torrent class should
be offered excess bandwidth first, but that is not the case.
The only solution I found is to reduce the torrent ceil value.
Could you help me?
Regards,
Ludovic L.
# tc -d class show dev eth1
class htb 1:99 parent 1:1 leaf 199: prio 5 quantum 1650 rate
66Kbit ceil 800Kbit linklayer ethernet burst 16Kb/1 mpu 0b
overhead 0b cburst 1599b/1 mpu 0b overhead 0b level 0
class htb 1:10 parent 1:1 leaf 110: prio 1 quantum 1650 rate
66Kbit ceil 200Kbit linklayer ethernet burst 16Kb/1 mpu 0b
overhead 0b cburst 1599b/1 mpu 0b overhead 0b level 0
class htb 1:1000 root prio 0 quantum 200000 rate 100Mbit ceil
100Mbit linklayer ethernet burst 1600b/1 mpu 0b overhead 0b cburst
1600b/1 mpu 0b overhead 0b level 0
class htb 1:1 root rate 800Kbit ceil 800Kbit linklayer ethernet
burst 16Kb/1 mpu 0b overhead 0b cburst 1599b/1 mpu 0b overhead 0b
level 7
class htb 1:20 parent 1:1 leaf 120: prio 2 quantum 9900 rate
396Kbit ceil 800Kbit linklayer ethernet burst 16Kb/1 mpu 0b
overhead 0b cburst 1599b/1 mpu 0b overhead 0b level 0
class htb 1:30 parent 1:1 leaf 130: prio 3 quantum 4950 rate
198Kbit ceil 800Kbit linklayer ethernet burst 16Kb/1 mpu 0b
overhead 0b cburst 1599b/1 mpu 0b overhead 0b level 0
class htb 1:40 parent 1:1 leaf 140: prio 4 quantum 1650 rate
66Kbit ceil 800Kbit linklayer ethernet burst 16Kb/1 mpu 0b
overhead 0b cburst 1599b/1 mpu 0b overhead 0b level 0
class sfq 140:22 parent 140:
class sfq 140:34 parent 140:
class sfq 140:3b parent 140:
class sfq 140:6c parent 140:
class sfq 140:a9 parent 140:
class sfq 140:149 parent 140:
class sfq 140:287 parent 140:
class sfq 140:2fd parent 140:
class sfq 140:318 parent 140:
class sfq 140:376 parent 140:
class sfq 140:3d6 parent 140:
class sfq 140:3e3 parent 140:
# tc -d qdisc show dev eth1
qdisc htb 1: root refcnt 2 r2q 5 default 99 direct_packets_stat 2
ver 3.17 direct_qlen 1000
qdisc pfifo 110: parent 1:10 limit 1000p
qdisc pfifo 120: parent 1:20 limit 1000p
qdisc pfifo 130: parent 1:30 limit 1000p
qdisc sfq 140: parent 1:40 limit 127p quantum 1514b depth 127
flows 128/1024 divisor 1024 perturb 10sec
qdisc sfq 199: parent 1:99 limit 127p quantum 1514b depth 127
flows 128/1024 divisor 1024 perturb 10sec
# tc -d filter show dev eth1
filter parent 1: protocol all pref 1 fw
filter parent 1: protocol all pref 1 fw handle 0xa classid 1:10
filter parent 1: protocol all pref 2 fw
filter parent 1: protocol all pref 2 fw handle 0x14 classid 1:20
filter parent 1: protocol all pref 3 fw
filter parent 1: protocol all pref 3 fw handle 0x1e classid 1:30
filter parent 1: protocol all pref 4 fw
filter parent 1: protocol all pref 4 fw handle 0x28 classid 1:40
filter parent 1: protocol all pref 99 fw
filter parent 1: protocol all pref 99 fw handle 0x63 classid 1:99
filter parent 1: protocol all pref 1000 fw
filter parent 1: protocol all pref 1000 fw handle 0x3e8 classid
1:1000
# tc -s class show dev eth1
class htb 1:99 parent 1:1 leaf 199: prio 5 rate 66Kbit ceil
800Kbit burst 16Kb cburst 1599b
Sent 1705141 bytes 10742 pkt (dropped 0, overlimits 0 requeues 0)
rate 8048bit 6pps backlog 0b 0p requeues 0
lended: 10742 borrowed: 0 giants: 0
tokens: 29290142 ctokens: 198864
class htb 1:10 parent 1:1 leaf 110: prio 1 rate 66Kbit ceil
200Kbit burst 16Kb cburst 1599b
Sent 20229 bytes 229 pkt (dropped 0, overlimits 0 requeues 0)
rate 48bit 0pps backlog 0b 0p requeues 0
lended: 229 borrowed: 0 giants: 0
tokens: 30859841 ctokens: 943734
class htb 1:1000 root prio 0 rate 100Mbit ceil 100Mbit burst 1600b
cburst 1600b
Sent 79426 bytes 563 pkt (dropped 0, overlimits 0 requeues 0)
rate 784bit 1pps backlog 0b 0p requeues 0
lended: 563 borrowed: 0 giants: 0
tokens: 1917 ctokens: 1917
class htb 1:1 root rate 800Kbit ceil 800Kbit burst 16Kb cburst 1599b
Sent 164307843 bytes 134601 pkt (dropped 0, overlimits 0
requeues 0)
rate 796440bit 78pps backlog 0b 0p requeues 0
lended: 108779 borrowed: 0 giants: 0
tokens: 2192729 ctokens: -117287
class htb 1:20 parent 1:1 leaf 120: prio 2 rate 396Kbit ceil
800Kbit burst 16Kb cburst 1599b
Sent 5042698 bytes 4448 pkt (dropped 0, overlimits 0 requeues 0)
rate 64032bit 6pps backlog 0b 0p requeues 0
lended: 4448 borrowed: 0 giants: 0
tokens: 5142031 ctokens: 235296
class htb 1:30 parent 1:1 leaf 130: prio 3 rate 198Kbit ceil
800Kbit burst 16Kb cburst 1599b
Sent 32111 bytes 216 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 216 borrowed: 0 giants: 0
tokens: 10309330 ctokens: 241546
class htb 1:40 parent 1:1 leaf 140: prio 4 rate 66Kbit ceil
800Kbit burst 16Kb cburst 1599b
Sent 157507664 bytes 118966 pkt (dropped 0, overlimits 0
requeues 0)
rate 724312bit 65pps backlog 0b 27p requeues 0
lended: 10187 borrowed: 108779 giants: 0
tokens: -2031932 ctokens: -222767
class sfq 140:56 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 2814b 2p requeues 0
allot 1520
class sfq 140:63 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 7570b 5p requeues 0
allot 1520
class sfq 140:9a parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 6056b 4p requeues 0
allot 1448
class sfq 140:f8 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 1310b 2p requeues 0
allot 528
class sfq 140:1c7 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 3028b 2p requeues 0
allot 1520
class sfq 140:269 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 4542b 3p requeues 0
allot 1304
class sfq 140:2ff parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 6056b 4p requeues 0
allot -72
class sfq 140:30d parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 1514b 1p requeues 0
allot 1520
class sfq 140:326 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 1502b 1p requeues 0
allot 1520
class sfq 140:3ad parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 1514b 1p requeues 0
allot 1520
class sfq 140:3c5 parent 140:
(dropped 0, overlimits 0 requeues 0)
backlog 1560b 2p requeues 0
allot 1520