I am running OpenBSD 3.3-current with HFSC queueing and stateful filters. If I enable my stateful filters anything defined via those filters does not go through my queue filters and gets unlimited bandwidth.
Below is my pf.conf file, When I access 196.34.165.210 via ftp my bandwidth is limited but as soon as I access it via port 80 I have unlimited bandwidth.
Assuming you're on fxp0, in the <za> table, and that by "enable" you mean adding "keep state" to rules you used before, this rule is the problem:
pass in on fxp0 proto tcp from any to 196.34.165.210 port 80 keep state
The best way to think of the state engine is as an entry that saves the important parts of the rule, and sits on that interface handling all future traffic for that connection, no matter which direction it goes in. There can only be one state entry for that connection on that interface. Since that rule doesn't assign a queue, those packets traveling through fxp0 will never be tagged for queueing, whether they're coming in or going out.
I think the most important change to your rules is that all of them need to specify the queue (if any) that should be used on their associated interface, since they now control both directions on that interface. The queue assignment won't have any effect on the inbound traffic, only the outbound.
Also note that most of your rules are a bit "loose" as far as TCP goes. The upside is that they'll pick up existing connections when you reboot/reconfigure the firewall, but you may want to get more control over which direction connections are initiated from by using "flags S/SA" with all of them. It depends on your situation; this is just a heads up.
