Queue and Fasttrack

I have read for 2 days now, and have been unable to use the queue system the way I want it, without having to make a choice between speed and queues…

RB5009:
I am on a 1.5/1 gigabit fiber connection, PPPOE using the SPF+ port as WAN and LAN 1 port as LAN.
I want to use a simple queue so I can enable FQ_CODEL, to reduce buffer bloat
It only works if I disable fasttrack in the IP firewall system.

Now why is that an issue for me? As soon as I disable fasttrack, my download speed drops from 1500 to 850.
I don’t understand why this simple task is so difficult to achieve?
I don’t understand why you cannot just put the simple queue in front of the firewall?
Maybe add packet marking to interfaces, so that it can be used to redirect the packets to the queue before they enter the firewall?

I think the current implementation of the queue system is not optimal for this router. I think being able to add a queue to the WAN interface before firewall processing would be a more optimal solution.
I really like this router but the queue implementation is frustrating to say the least.
I have used PfSense, Opensense and Arista (Untangle) before and setting up queue’s there is way more straightforward than with the router OS.

To avoid disabling fast track first accept the traffic, before the fastrack rule.

ADD TO:
add action=fasttrack-connection chain=forward comment=“defconf: fasttrack”
connection-state=established,related
add action=accept chain=forward comment=
“defconf: accept established,related, untracked” connection-state=
established,related,untracked
add action=drop chain=forward comment=“defconf: drop invalid”
connection-state=invalid

WITH:
add action=accept chain=forward connection-state=established,related src-address=SUBNET BEING QUEUED
add action=accept chain=forward connection-state=established,related dst-address=SUBNET BEING QUEUED

add action=fasttrack-connection chain=forward comment=“defconf: fasttrack”
connection-state=established,related
add action=accept chain=forward comment=
“defconf: accept established,related, untracked” connection-state=
established,related,untracked
add action=drop chain=forward comment=“defconf: drop invalid”
connection-state=invalid

If more than one subnet, make a firewall address list.

@vanadiel
Read this - FastTrack-Friendly QoS Script

Queue Tree with only interfaces set as parents is compatible with fasttrack. This should work for your usecase, use one queue with wan as parent to shape upload and one with lan as parent to shape download.

Thank you for your reply, but this is actually another issue I have.
I use the SFP+ module as WAN port, and under interfaces I can see the traffic for both send and receive no problem for that port.

However, as soon as I select that as the port for the queue, I see no traffic flow in the queue, not even a single packet. This is also the case when I turn off Fasttrack.
So I am currently using PPPOE as the interface for the queue, but that requires fasttrack to be turned off the traffic to flow to the queue.

As for LAN, that traffic flow in the queue does not match the actual LAN traffic flow, unless I disable Fasttrack. It’s actually registering way below actual data flow.

I tried the queue tree before, but it has the same issue as described above: the in and out data is way below the actual data registered in the port interface. It only shows the correct amount of data if I turn off fasttrack.

pls not! this qos script is not meant for fqcodel/cake.

this is the way to go

http://forum.mikrotik.com/t/some-quick-comments-on-configuring-cake/152505/1

Is the general consensus, that one UPLOADS (to the client aka traditional downloading external to internal) via the WAN interface and sets a separate queue for the DOWNLOAD (from the client aka traditional uploading internal to external) via the LAN Interface?? Assuming this is more accurate than using the WAN interface for both ???

And in both cases, fastrack need NOT be disabled and no special rules made??

Are you sure about this? Because my version of this script works great. In 10 places exactly. :slight_smile:

When you have PPPoE, your WAN interface is the PPPoE client interface, NOT the parent interface of the PPPoE!
(which probably also isn’t the SFP+, but rather there is a VLAN subinterface between those)

Yes, but there is perfectly fine traffic both TX and RX for the SFP+ interface visible in the interface list.
So where is that data captured so it’s displayed in the Interface list?

PPPoE is a protocol that encapsulates your internet traffic (it puts a header in front of it) and then sends it down to the layer below it.
That will usually be a VLAN. That again puts a header in front of it.
Finally the traffic is sent out on a physical interface (in your case SFP+).
In all those layers you see the traffic counters increase.

The mentioned script from FastTrack-Friendly QoS Script creates a nested queue tree. A queue tree for each “QOS class” with parent a “total queue”.

I am sorry. Could indeed work perfectly for fq_codel as there is no DSCP/priority classification built in. You would not need this kind of “complex queue tree” when using CAKE queue (with diffserv).

I confess honestly. All my attempts to adjust this CAKE queue - only resulted, that the speed test is dropping by half. Even in the same simple configuration (one WAN interface and local bridge).

adjust which queue?