ROSv6 PCQ queue problem [SOLVED]

EDIT: Solved, change target in simple queue to equivalent subnet (e.g. 10.0.0.0/16)

Hello.

I use in our network simple queue with PCQ to limit speed on each address. On ROS v5 and lower it worked like a charm, but now I discovered, that on two RB, which has ROS v6, it no longer works.
Exactly it looks like download queue is working, but upload not.
I know that there were changes in queue in v6, but I don’t know, how to implement it.

Here is the “script” which I use for making the queue:

:global rozsah;
/queue type
add kind=pcq name=pcq_upload pcq-classifier=src-address pcq-rate=4M pcq-total-limit=10000 pcq-limit=50
add kind=pcq name=pcq_download pcq-classifier=dst-address pcq-rate=16M pcq-total-limit=10000 pcq-limit=50

:set rozsah "1";
/ip firewall
mangle add action=mark-packet chain=prerouting  src-address=("10.0.$rozsah.1-10.0.$rozsah.199") new-packet-mark=("upload_$rozsah")
mangle add action=mark-packet chain=postrouting dst-address=("10.0.$rozsah.1-10.0.$rozsah.199") new-packet-mark=("download_$rozsah")

/queue simple
add name=("pcq_$rozsah") packet-marks=("upload_$rozsah,download_$rozsah") queue=pcq_upload/pcq_download target="0.0.0.0/0"

When I looked on counter in mangle, it looks like marking works OK.
Any idea?
Thank you

EDIT: tested a little now. It doesn’t use the upload limits which I setted, instead of this it use download limit also for upload! (on RB2011 with ROS 6.15)
Then I tested it on RB800 with ROS v6.7, there it looks, that it works OK

EDIT2: After adding to queue tree instead of simple it works.
Anyway still there is some bug. Can anyone test it also?

I had a similar problem with 6.15 and downgrade to 6.7. Now it is working fine.

Thanks for reply!
To be sure, I just booted old RB433 with netinstalled ROS v6.15.
And the simple queue works here :open_mouth:
Maybe it’s related only to some RBs?

EDIT: RB600 with 6.18 has also problem…

that’s because of

target="0.0.0.0/0"
  • queue cannot determine, which packets are upload of 0.0.0.0/0, and which are download :slight_smile: use more specific target (like LAN or 10.0.0.0/8) or add dst=WAN

Thanks, I will test it :slight_smile:

EDIT: It looks that it works, thank you! :sunglasses: