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

ALTQ w/priq not doing its job properly

I have been putting ALTQ with the priq disciple through its paces the past week and it doesnt seem to be doing as its told. As you can see from my rules ack traffic is fairly high up on my list and almost exclusively has top priority, however, when i'm running a p2p program on my desktop uploading at 22k/sec and then I try to download an iso (or whatever else) the download speed never reaches the max 164k/sec i'm capable of getting, instead it hovers around 100-120k/sec, which I believe is the result of slow outbound ack packets. Am I right or is there something else i've missed ??

Also I am not using RED so no packets should be dropped, I do get dropped packets on q_out if things are a little to loaded ie 50/50 is reached for the qlimit, and there is another problem, my qlimit is set to 100 but it never changes !! I am assuming that the pfctl -vsq display that says qlength is the current length of the qlimit ??

Does anyone know why these oddities are occurning ?? And is the warning below considered false advertising ?? :-

QUOTE FROM PF FAQ "It is important to note that when using PRIQ you must plan your queues very carefully. Because PRIQ /always/ processes a higher priority queue before a lower priority one, it's possible for a high priority queue to cause packets in a lower priority queue to be delayed or dropped if the high priority queue is receiving a constant stream of packets."

So far it looks like it doesnt ALWAYS processes rules properly, especially with regards to acks.

altq on $ext_if bandwidth 200Kb qlimit 100 priq queue { q_ssh_shell_out, q_ssh_bulk_out, q_out, q_http_out, /
q_dns_out, q_vpn_out, q_mail_out, q_wwwb_out, q_dnsb_out, q_udp_out, q_voip_out, q_icmp_out, q_ack_out }
queue q_udp_out priority 15 priq
queue q_icmp_out priority 14 priq
queue q_ack_out priority 13 priq
#queue q_voip_out priority 12 priq
queue q_dnsb_out priority 11 priq
queue q_wwwb_out priority 10 priq
queue q_mail_out priority 9 priq
queue q_ssh_shell_out priority 8 priq
queue q_ssh_bulk_out priority 7 priq
queue q_vpn_out priority 4 priq
queue q_dns_out priority 3 priq
queue q_http_out priority 2 priq
queue q_out priority 1 priq(default)

I hope i'm wrong in my assumptions and please correct me if I am as i'm happy to eliminate a potential source of problems.