HFSC queuing nothing going to qOthersLow
-
Good afternoon. I have a 3mb down / 768 up DSL connection. I am trying to shape traffic in such a way that I can leave a SSL Usenet connection running all the time, and have it step aside for other traffic as needed. I created a multi-wan single lan queue using the wizard. I assigned HTTP, IMAP, and SMP to the higher priority queue. I assigned NNTP to the lowest priority queue. I've tried a couple of different floating rules to connect the SSL'd usenet traffic to the "qOthersLow queue. I have tried a match rule for both the Usenet server's IPs and port 563. To test this I start the Usenet client, and an HTTP download. No packets ever make it into the low priority queue.
Here is pftop:
QUEUE BW SCH PRIO PKTS BYTES DROP_P DROP_B QLEN BORROW SUSPEN P/S B/S root_bge0 768K cbq 0 35005 2826482 0 0 0 0 0 1.0 75 qACK 153K cbq 6 5255 367706 0 0 0 0 0 0 0 qDefault 76800 cbq 3 27551 1965829 0 0 0 20089 0 0 0 qOthersHigh 76800 cbq 4 2199 492947 0 0 0 118 0 1.0 75 qOthersLow 38400 cbq 2 0 0 0 0 0 0 0 0 0 root_re0 1000M cbq 0 42072 59084340 0 0 0 0 0 0.6 82 qLink 200M cbq 2 35408 51213155 0 0 0 3 0 0.6 82 qInternet 3145K cbq 0 0 0 0 0 0 0 0 0 qACK 629K cbq 6 750 49876 0 0 0 0 0 0 0 qOthersHigh 314K cbq 4 5914 7821309 0 0 0 4232 0 0 0 qOthersLow 157K cbq 3 0 0 0 0 0 0 0 0 0
Here is the rule in /tmp/rules.debug
match quick on { re0 } inet proto tcp from 69.16.179.26 to any flags S/SA queue (qOthersLow) label "USER_RULE" match quick on { re0 } inet proto tcp from 69.16.179.27 to any flags S/SA queue (qOthersLow) label "USER_RULE"
re0 is the lan, bge0 is wan.
-
Here is the rule in /tmp/rules.debug
match quick on { re0 } inet proto tcp from 69.16.179.26 to any flags S/SA queue (qOthersLow) label "USER_RULE" match quick on { re0 } inet proto tcp from 69.16.179.27 to any flags S/SA queue (qOthersLow) label "USER_RULE"
re0 is the lan, bge0 is wan.
Does "quick" work with match rules? If I remember correctly, it doesn't.
I gave up on floating rules and use "pass" rules on lan.
Also, I think you are using CBQ, not HFSC.
-
I don't think quick does anything on a match rule. It neither blocks nor passes traffic so it doesn't make much sense for it to stop processing.
So there's no NAT involved? Floating rules get a little tricky because they're pre or post NAT depending on the interface and direction.
Have you tried pass rules on the LAN interface for traffic sourced from the IPs with dest port tcp/563?
-
Also, you need to limit your upload/download to lower bandwidths, otherwise your current setup has virtually no effect.
I pay for 6mbit/768kbit ADSL, but my real-world upload is ~666kbit. For proper QoS (so you can control latencies by avoiding any buffering at the ISP), you need to limit your upload to something below your real-world upload. I use 600kbit, in my case.
I know it is unfortunate, but to properly employ QoS, you will need to do some more research. I had to… I have been crashing down this rabbit-hole for months. :)
Here is a good introduction, in my opinion.
http://www.linksysinfo.org/index.php?threads/qos-tutorial.68795/