I have the following simple queues set up:
[admin@mt] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="LAPTOP 2" target-address=192.168.0.103/32 dst-address=0.0.0.0/0
interface=all queue=red priority=8 limit-at=0/0 max-limit=128000/512000
1 name="LAPTOP 1" target-address=192.168.0.102/32 dst-address=0.0.0.0/0
interface=all queue=pfifo priority=8 limit-at=0/0 max-limit=128000/512000
2 name="All" target-address=192.168.0.0/24 dst-address=0.0.0.0/0 interface=all
queue=pfifo priority=8 limit-at=0/0 max-limit=100/100
3 name="Public Traffic Mon" target-address=0.0.0.0/0 dst-address=0.0.0.0/0
interface=all queue=pfifo priority=8 limit-at=0/0 max-limit=0/0
4 name="queue1" target-address=0.0.0.0/0 dst-address=0.0.0.0/0 interface=all
queue=sfq priority=8 limit-at=0/0 max-limit=0/0
The first two queues seem to work fine to limit bandwidth to the two clients, though as you will see I have set queue 0 to be RED type. This seems to restrict traffic slightly more than pfifo type. Why is this and what is the correct queue type in this scenario? The third queue (2) is to throttle all traffic from other address in the 192.168.0.0/24 network which seems to work fine. The fourth queue is just to monitor the total traffic on the public interface and seems to work fine also. I have added the fifth queue (4) as I would like to implement sfq for all traffic from and to the clients as I imagine the upstream from public (to the Internet) will get busy at times. However, this queue appears to do nothing at the bottom of the table and if moved to the top of the table allows all traffic to pass unrestricted.
What I am doing wrong? What is the correct way to implement sfq for all traffic passing to and from an interface?
Thanks,
Guy