I'm using layer cake SQM with diffserv4 and I think I've figured out how to apply appropriate DSCP tags using custom firewall rules. I can see that traffic is getting classified and placed in the four available tins (by looking at the output from tc -s qdisc
), so it is definitely working to some degree:
Bulk Best Effort Video Voice
thresh 1343Kbit 21500Kbit 10750Kbit 5375Kbit
target 13.5ms 5.0ms 5.0ms 5.0ms
interval 108.5ms 100.0ms 100.0ms 100.0ms
pk_delay 1.4ms 294us 710us 109us
av_delay 118us 18us 50us 12us
sp_delay 2us 3us 4us 2us
backlog 0b 0b 0b 0b
pkts 2771621 5374593 4806887 1517536
bytes 3624738613 2397416212 680142558 252877354
way_inds 27112 122715 130563 8355
way_miss 87608 36930 73735 3323
way_cols 0 0 0 0
drops 593 816 760 1
marks 0 0 0 0
ack_drop 0 0 0 0
sp_flows 0 0 4 0
bk_flows 0 0 0 0
un_flows 0 0 0 0
max_len 36336 40878 24378 1382
quantum 300 656 328 300
However, I'd like to know for sure that individual connections are being classified correctly. Is there any way to see which connections are going into each tin?
I've recently migrated from Tomato, which has an excellent interface for checking QOS rules - you get a live list of connections which includes the QOS classification for each one. It also tells you which specific rule resulted in that classification. This makes it easy to spot rules that need tweaking. I'm hoping there's a way to achieve something similar in OpenWRT?