Hello, I've several ideas. Maybe someone has some time to implement them ? 1) Backlog depth limit Currently total limit of SFQ is 128 packets. SFQ tries to keep lengths of all flows to be roughly the same. It means that there can be one flow with 128 packets backlog. It would be nice to have control over maximal lenght of backlog. To be able to control max delay introduced. 2) Interactive traffic isolation Cisco IOS implements WFQ which has one queue per flow and common queue for interactive traffic. Packets are queued into interactive queue for some time and after it is clear that they constitute large flow they are assigned private queue. Interactive queue has higher prio. Nice effect is that short conversations are handled faster and long downloads are isolated with lower priority. It could be implemented in SFQ by attaching token bucket filter to each flow bucket (there is 1024 buckets). If the flow conforms to the bucket then it is low-load traffic (interactive) and hi-load otherwise. Dequeue routine should be changed to DRR dequeue from low-load flows then hi-load then again lo-load .... In other words to perform DRR among two DRRs. Of course one couldn't use "perturb" here as it would fool bucket filters. 3) Hash select Default SFQ impl. uses src(ip+port)+dst(ip+port) to distinguish connections. It might be useful to be able to set src(ip)+dst(ip) for example (do disallow users to fool SFQ by creating more connections) or src(ip)+dst(ip+port) to make it yet better. I'd suggest tc parameters like "hash " followed by set of "dip,sip,sport,dport,proto" arguments (e.g. ... sfq hash dip sip dport). Comments, ideas, volunteers ? devik