Basic Queue Setup

I’m trying to setup a pretty basic queue. I have two subnets, “home” and “guest”

I want home to have top priority to all available bandwidth when needed. Guest is lowest priority and has 256k/5M to share if available.

So, I created a parent queue with home and guest as child queues.

0    name="Main-Que" target=192.168.0.0/22,172.100.0.0/24 dst=ether1-gateway 
      parent=none packet-marks="" priority=1/1 
      queue=pcq-upload-default/pcq-download-default limit-at=0/0 
      max-limit=3500k/60M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s 
      bucket-size=0.1/0.1 

 1    name="Home" target=192.168.0.0/22 dst=ether1-gateway parent=Main-Que 
      packet-marks="" priority=1/1 
      queue=pcq-upload-default/pcq-download-default limit-at=0/0 max-limit=0/0 
      burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1 

 2    name="Guest" target=172.100.0.0/24 dst=ether1-gateway parent=Main-Que 
      packet-marks="" priority=8/8 
      queue=pcq-upload-default/pcq-download-default limit-at=0/0 
      max-limit=256k/5M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s 
      bucket-size=0.1/0.1

Should this work? I see traffic hitting each queue and the limits are working. I’m just not sure if its splitting the bandwidth between home and guest how I want.

It seems to be ok. Check the PCQ classifier configuration you have to make sure that PCQ queues distribute bandwidth to hosts not only to networks. Just make sure that PCQ classifier have /24 masks. You can also play with limit-at to ensure a minimum bandwidth to guest network.

So right now I have the PCQ Classifier set with the default 32 mask

5 * name="pcq-upload-default" kind=pcq pcq-rate=0 pcq-limit=50KiB 
     pcq-classifier=src-address pcq-total-limit=2000KiB pcq-burst-rate=0 
     pcq-burst-threshold=0 pcq-burst-time=10s pcq-src-address-mask=32 
     pcq-dst-address-mask=32 pcq-src-address6-mask=128 
     pcq-dst-address6-mask=128 

 6 * name="pcq-download-default" kind=pcq pcq-rate=0 pcq-limit=50KiB 
     pcq-classifier=dst-address pcq-total-limit=2000KiB pcq-burst-rate=0 
     pcq-burst-threshold=0 pcq-burst-time=10s pcq-src-address-mask=32 
     pcq-dst-address-mask=32 pcq-src-address6-mask=128 
     pcq-dst-address6-mask=128

So you’re saying I should change this to 24? Is this enforcing the PCQ queue among a range rather than on a host to host basis?

I’m not really clear on what the Classifier is accomplishing.