QOS not working

I am trying to get QOS working, and I am following an example from workshop qos best practice (found on Mikrotik Wiki)

I have external interface with external IP address (eth2-iskon) and internal interface (eth5-zovuip) with masquerade

So, I’ve made packet marking with mangle:

/ip firewall mangle
add action=mark-connection chain=forward comment="mark local traffic" disabled=no new-connection-mark=zovuip_conn passthrough=yes src-address=192.168.0.0/24
add action=mark-packet chain=forward comment="" connection-mark=zovuip_conn disabled=no new-packet-mark=zovuip_traffic passthrough=no src-address=192.168.0.0/24

Also I’ve created new queue types:

add kind=pcq name=PCQ_down_8M pcq-classifier=dst-address pcq-limit=50 pcq-rate=8000000 pcq-total-limit=2000
add kind=pcq name=PCQ_up_8M pcq-classifier=src-address pcq-limit=50 pcq-rate=8000000 pcq-total-limit=2000

… and made queue tree like this:

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=Total_download parent=eth5-lan-zovuip priority=1
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=zovuip_business_down packet-mark=zovuip_traffic parent=Total_download \
    priority=4 queue=PCQ_down_8M
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=Total_upload parent=global-out priority=1
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=zovuip_business_up packet-mark=zovuip_traffic parent=Total_upload priority=4 \
    queue=PCQ_up_8M

And it works OK with upload, but it doesn’t work with download limit and/or bandwith sharing beetween clients in local network. Somewhere I am obviously doing wrong, but what ?

Sorry on bad english :frowning:

EDIT: I also have one another question. I have another interface (eth3-public) with public address range, and servers are attached on this interface. A also want them to be in QOS, and share total bandwith, how can I add them?

  1. your mangle marks only upload (download will have dst-address=192.168.0.0/24) - so you missing one mark-packet rule in mangle

  2. If you have only one child queue there are no need for parent queues

  3. usually clients in local network can communicate directly between switch, so in this case router doesn’t see any client-to-client traffic

  4. you can shape any traffic that goes trough the router, just QoS structure will be little more complicated.

  1. your mangle marks only upload (download will have dst-address=192.168.0.0/24) - so you missing one mark-packet rule in mangle

OK, I’ve repaired this and it works well now

  1. If you have only one child queue there are no need for parent queues

I’ll later shape some other traffice (on TCP port basis), to I’ll leave configuration as is

  1. usually clients in local network can communicate directly between switch, so in this case router doesn’t see any client-to-client traffic

I don’t need this, so it is OK :slight_smile:

  1. you can shape any traffic that goes trough the router, just QoS structure will be little more complicated.

I know that configuration is more complex, that is the reason I am asking for some guidance :smiley: . Can you give me some examples?