Problem to priorize SSH traffic

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 

Attachment: tcgraph.png
Description: PNG image


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux