Fasttrack and Simple Queue

Is using FastTrack at MT router with NAT overrides(disables) Simple Queue for traffic passing that router. In other words - can I use FastTrack AND Simple Queues?

Yes, but only if you have an “accept” rule in the firewall to accept the traffic that needs to flow through the simple queue (with established,related setting), and place it directly before the fasttrack rule that would otherwise fasttrack the traffic. That way you can continue to fasttrack all traffic except the traffic that you need to run through a simple queue.

If you want to run all traffic through simple queues this will not be worth doing because then there won’t be anything left to fasttrack after you have made all of the accept rules.

Thank You mducharme for explanation! I didn’t know why sometimes SQ works with FastTrack enabled, and sometimes not. Now I know exactly why:) Thank You:)

Thanks for posting this i was trying to keep my queue functional but was not having success by [!] excluding traffic within the fasttrack rule itself.

Putting accepts before the fasttrack got it going, thanks again.

Unfortunately not working for me.

This is what I did (rule #6 is the one created as suggested here):
6 ;;; forward rule for subnet/ip destined to queues - established/related only
chain=forward action=accept connection-state=established,related src-address-list=alist_to_s-queue log=no log-prefix=“”

7 ;;; FastTrack connection rule - established/related only
chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=“”

8 ;;; accept forward rule- fallback for non FastTrack-able packets - established/related only
chain=forward action=accept connection-state=established,related log=no log-prefix=“”

Where “alist_to_s-queue” is an address list that contains

5 alist_to_s-queue 192.168.1.31 feb/24/2019 20:13:18
6 alist_to_s-queue 192.168.100.0/24 feb/25/2019 17:36:17

simple queue is
0 name=“q_limit NeT-OfficE” target=192.168.100.0/24 parent=none packet-marks=“” priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=2M/5M burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s bucket-size=0.1/0.1

The explanation makes sense, because rule #6 should match subnet 192.168.100.0/24 and then firewall should stop any further rule below it, but traffic originated from 192.168.100.0/24 never hit the simple queue and in fact my feeling is that FastTrack rule is always executed first no matter where is placed in the sequence.

The queue is ok because if I disable the FastTrack rule the simple queue rule kicks in as expected.

This running ROS 6.43.12 on a hEX S.

Any advice?

For the Qs to correctly match both directions you need to add the following rule before fast track rule:

chain=forward action=accept connection-state=established,related dst-address-list=alist_to_s-queue log=no log-prefix=""

Hi CZfan,

This did the trick and now it works perfectly…and it makes also perfect sense considering that indeed the queue has two direction.
Many thanks for your quick support.

I did as informed and the simple queues returned to handle the traffic, however the CPU load remains the same as when I disable the fasttrack connection

may I ask a follow-up question?

If I have some VLANs. Each of them shall not get more than 10% of the entire bandwidth. Moreover, the Guest-VLAN shall only get 2.
I cannot FastTrack them as they have to go through a simple queue, don’t they?