QoS the next generation

Discuss the technical details of Gargoyle and ongoing development

Moderator: Moderators

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Hi pbix, I'm trying to setup my qos rules to test out this new implementation and I noticed an annoying bug.

I have setup two rules as follows

Qos UP:
Rule 1: Dest Port: 53
Max Pktlen: 512

Rule 2: Src Port: 1025-65535
Dest Port: 1025-65535
Min Pktlen: 400

Qos DOWN:
Rule 1: Src Port: 53
Max Pktlen: 512

Rule 2: Src Port: 1025-65535
Dest Port: 1025-65535
Min Pktlen: 400

Now, everytime I try to save in the qos upload and qos download pages, the packet rules of both become inversed, such that minimum becomes maximum, and maximum becomes minimum. The length values stay the same. To get them back, then save once again. I just thought you might want to take a look into this, as I haven't tested if this occurs also in the unmodified files for qos webif in 1.3.3.

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Some observations:

Before I had qos upload enabled, my upload speed result in speedtest.net averages around 190 kbps. So I used this to set qos upload bandwidth as 190 * 95% = 180 kbps. After saving changes, I retest again but this time my average upload speed is now around 45-60 kbps. There are no other users on the link and the speedtest is the only one using bandwidth. Is this the intended behavior? 60 kbps is too far from 180 kbps upload bandwidth limit. With download bandwidth there is no such problem.

Also, is it normal that when I have qos congestion control enabled, then rebooted the router, that the time to reboot takes longer than it usually is?

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

My qosmon.status logs:

Code: Select all

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 300 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 0, BW bps (filtered): 300202
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 493

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 307 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 8, BW bps (filtered): 306653
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 501

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 314 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 8, BW bps (filtered): 314542
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 452

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 325 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 10, BW bps (filtered): 324686
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 464
6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 325 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 6, BW bps (filtered): 325201
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 419

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 336 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 7, BW bps (filtered): 336284
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 328

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 344 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 10, BW bps (filtered): 344529
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 296
6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 346 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 4, BW bps (filtered): 345851
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 267

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 334 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 2, BW bps (filtered): 334731
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 241

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 332 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 0, BW bps (filtered): 331965
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 273

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 336 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 11, BW bps (filtered): 336026
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 308
6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 347 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 16, BW bps (filtered): 346932
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 395
6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 347 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 5, BW bps (filtered): 346647
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 536

6

State: FREE
Link limit: 384 (kbps)
Fair Link limit: 345 (kbps)
Link load: 336 (kbps)
Ping: off
Filtered ping: 21 (ms)
Ping time limit: 52 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8032, Active 0, Backlog 0, BW bps (filtered): 0
ID 8033, Active 1, Backlog 0, BW bps (filtered): 335989
ID 8034, Active 0, Backlog 0, BW bps (filtered): 0
ID 8035, Active 0, Backlog 0, BW bps (filtered): 540

6
Note that the link limit severly restricts my download bandwidth but still qos doesn't kick in. My tested download speed without qos is around 460-480 kbps. I have 4 classes but the qosmon.status always show 1 class active, even though 2 of those four classes are being properly marked as indicated in the connection list. QoS upload is setup properly with the same ruleset with matches appropriate for outbound traffic. I have rebooted the router and tested again, but still the same: State is always free even when link limit is intentionally hampered.

I have setup one class with 28% at bandwidth capacity, labeled "regular", and another with 2% labeled "bulk". First I have initiated an http download which falls under "regular". Then I test to download a torrent, which falls under "bulk" but then qosmon always inidcate link state as "free". Also my torrent download eats up the bandwidth that my http download is using, indicating that qos is not functioning properly with congestion control.

What seems to be the problem?

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: QoS the next generation

Post by pbix »

braveheartleo,

I investigated the reversal of the min/max packet sizes and found it is a bug that has been around forever. I corrected it the attached if you are interested.

Your comments about upload speed I am looking into but this issue is not related to the congestion controller.

The boot time issue I have a question about. How do you determine that the boot is 'finished'?

Now about the results you posted this morning. If only one class is active the controller goes into the FREE state which releases all restrictions on the link limit. Determining when a class is active is the trick. The controller decides if the class is using more than 4kbps it is active. Try to increase your torrent limit to over this amount and lets see if the controller will go into the WATCH state. You need to get at least 2 classes to show active to move from the FREE state.

You said that your torrent is interferring with your HTTP download but in the status you posted the torrent is only 493bps which is less than its share (2/28 or 7%). Why do you say this is interference?


What you are witnessing at the moment that if link limit is too high then QoS does not work.
Attachments
qos.zip
(7.52 KiB) Downloaded 413 times
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Thanks for the quick fix.

Actually I edited my post to state that the reboot time is longer than normal, boot up time is normal. Once openwrt is running, then I ssh into the router and issue a reboot command, it takes several seconds more than it normally would before the router goes into reboot. I will know that the router is rebooting from the moment I issued the command when I lose my LAN connection and disconnect from the ssh client. This is with qos+congestion control enabled and running.

I see now why only one class is active. I will adjust my percentages appropriately to ensure a minimum 4 kbps allocation.

Indeed if the link limit is too high then QoS doesn't work. However I have intentionally hampered my link limit to 384 kbps, normally it should be around 460 kbps. This limit is indeed in effect as my speedtest averages report. However, after marking connections correctly, as soon as I start up my torrent download while already downloading from the web, download speed reacts as though no bandwidth limit is setup, and this I see in both the web browser and the torrent client, where the torrent client is downloading more than the web browser.

So because of this I thought QoS doesn't seem to work even though I have intentionally left some more bandwidth to make it work. So I'm wondering why the qosmon.status would say it is limiting but I see otherwise in the programs I'm running. Maybe I'll recheck again after I setup classes correctly.

Thanks for the infos.

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Yep. What qosmon.status reports is contradictory to how my programs perform during actual downloads. Even when setting download bandwidth _way below_ the normal, ensuring that QoS will trigger, still the bandwidth limits are not being respected. I set each class service to provide 4 kbps as minimum bw to ensure classes will become active but this doesn't take effect. Only 1 active class is reported. Torrent is still eating up http download. And state remains free.

Irrespective of percentages, when minimum bandwidth is specified QoS will statify this first before anything else, is that correct?

I can confirm that with qos+congestion control enabled, rebooting the router within the console takes a couple of secs longer than normal.

Something else must be amiss.

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Even with the http download stopped with the torrent download now hogging the whole bandwidth, still qosmon.status doesn't reflect the change:

Code: Select all

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 402 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 14, BW bps (filtered): 401257
ID 800D, Active 0, Backlog 0, BW bps (filtered): 823

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 408 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 5, BW bps (filtered): 407858
ID 800D, Active 0, Backlog 0, BW bps (filtered): 789

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 402 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 1, BW bps (filtered): 402193
ID 800D, Active 0, Backlog 0, BW bps (filtered): 805

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 413 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 0, BW bps (filtered): 413152
ID 800D, Active 0, Backlog 0, BW bps (filtered): 436

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 412 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 2, BW bps (filtered): 412529
ID 800D, Active 0, Backlog 0, BW bps (filtered): 452

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 414 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 3, BW bps (filtered): 414021
ID 800D, Active 0, Backlog 0, BW bps (filtered): 454

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 423 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 6, BW bps (filtered): 423193
ID 800D, Active 0, Backlog 0, BW bps (filtered): 468

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 421 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 0, BW bps (filtered): 420926
ID 800D, Active 0, Backlog 0, BW bps (filtered): 422

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 430 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 6, BW bps (filtered): 430109
ID 800D, Active 0, Backlog 0, BW bps (filtered): 400

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 419 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 15, BW bps (filtered): 418556
ID 800D, Active 0, Backlog 0, BW bps (filtered): 633

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 400 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 9, BW bps (filtered): 399282
ID 800D, Active 0, Backlog 0, BW bps (filtered): 732

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 399 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 1, BW bps (filtered): 399162
ID 800D, Active 0, Backlog 0, BW bps (filtered): 813

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 408 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 5, BW bps (filtered): 407458
ID 800D, Active 0, Backlog 0, BW bps (filtered): 867

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 414 (kbps)
Ping: off
Filtered ping: 18 (ms)
Ping time limit: 46 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 800A, Active 0, Backlog 0, BW bps (filtered): 0
ID 800B, Active 0, Backlog 0, BW bps (filtered): 0
ID 800C, Active 1, Backlog 6, BW bps (filtered): 413409
ID 800D, Active 0, Backlog 0, BW bps (filtered): 906
Thus State: FREE remains. This at least holds true for my setup.

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: QoS the next generation

Post by pbix »

Please make the following settings to start with.

Set your download bandwidth to 460kbps
Set your Torrent class to 25% with no minimum or maximum.
Set your HTTP class to 50% with no minimum or maximum.
Make a default class and set it to 25% with no minimum or maximum.
Delete all other classes.

Post the qosmon.status while both download are active.
Observe that two classes have BW much greater than 4kbps and that two are listed as active.

I have not checked if a 'reboot' takes a few seconds longer or not. I suppose it might.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

User avatar
braveheartleo
Posts: 47
Joined: Sun Dec 13, 2009 9:50 am

Re: QoS the next generation

Post by braveheartleo »

Code: Select all

State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 456 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 456031
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 456 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 456031
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 457 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 457491
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 457 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 457491
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 450 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 0, BW bps (filtered): 450102
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 450 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 0, BW bps (filtered): 450102
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 450 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 0, BW bps (filtered): 450102
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 440 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 440603
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 440 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 440603
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 442 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 5, BW bps (filtered): 442480
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 446 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 9, BW bps (filtered): 446917
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 446 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 9, BW bps (filtered): 446917
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 449 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 449188
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 449 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 449188
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 449 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 449188
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~# cat /tmp/qosmon.status
State: FREE
Link limit: 460 (kbps)
Fair Link limit: 414 (kbps)
Link load: 449 (kbps)
Ping: off
Filtered ping: 16 (ms)
Ping time limit: 43 (ms)
Classes Active: 1
ID FFFF, Active 0, Backlog 0, BW bps (filtered): 0
ID 8003, Active 0, Backlog 0, BW bps (filtered): 0
ID 8004, Active 1, Backlog 4, BW bps (filtered): 449188
ID 8005, Active 0, Backlog 0, BW bps (filtered): 0

root@OpenWrt:~#
No change. Torrent download still eating up http download while both are running, without respect to bw limits. Moreover, it seems that in the status only the active class shows bps counters, which is the http download, while the last class which is the torrent doesn't show any.

I would also like to point out that while the "link load" counter doesn't hit the "link limit," this is _not_ yet the full download speed for my connection with qos disabled. This is only equivalent to 47 KB/s as indicated in the web browser download, 10 KB/s short of my maximum.

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: QoS the next generation

Post by pbix »

This evidence shows that both torrents and http downloads are be classified in the same class. This would explain why they are interfering with each other.

Your idea that only the active class shows calculated bandwidth is not the design. On my box all class show bandwidth regardless of if they are consider active or not. But we can verify if something like this is amiss by comparing to the output of 'tc -s class show dev imq0". This command shows the byte passing through each class. If only one is incrementing then there is agreement and only one class is being used. If more that one is incrementing then your theory may be correct.

Did you inspect the status->connections to see if any connections are marked in the second class and if those connections are incrementing bytes?

Assuming this is a classification problem if your torrents are running on a differing box then classifying by dest IP address is simple and reliable. Perhaps you can do your http download on a different box and again use destination IP address to classify.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

Post Reply