I have recently replaced old Juniper switches with Mikrotik (CCR2004) routers on a wan link which is used to transfer an uncompressed audio streams between location. The Juniper switches were configured to use DSCP EF for audio traffic and SP output queues on wan interfaces. I’ve tried to replicate that configuration on Microtiks but without too much success. Delays, jitter and drops are way to high for the audio streams and they are significantly higher during office hours. The mangle rules and queues seem to catch the traffic but there is something wrong “on the wire”. Is there any important error in configuration below? Mikrotiks are running OS version 7.6
Edit: I’ve forgot to mention that the config below is from the moment I setup another connection and routed office traffic separately. It seems so any significant load on the router (not that significant for the hardware, it tops at about 300Mb/s of office kind of traffic) impacts transmission on other interfaces
Important configuration parts.
/ip firewall mangle
add action=change-dscp chain=postrouting comment="Mark LIVESTREAM EF(46)" new-dscp=46 passthrough=yes protocol=udp src-address-list=qos-livestream-src
add action=change-dscp chain=postrouting comment="Mark LIVESTREAM EF(46)" dst-address-list=qos-livestream-dst new-dscp=46 passthrough=yes protocol=udp
# ...
add action=set-priority chain=postrouting comment="Respect DSCP tagging" new-priority=from-dscp-high-3-bits passthrough=yes
add action=set-priority chain=postrouting comment="Prioritize ACKs" new-priority=6 packet-size=0-123 passthrough=yes protocol=tcp tcp-flags=ack
add action=accept chain=postrouting comment="pri0 - best effort - default" priority=0
add action=mark-packet chain=postrouting comment="pri1 - scavenger - ip_precedence_1" new-packet-mark=ip_precedence_1 passthrough=no priority=1
add action=mark-packet chain=postrouting comment="pri2 - background - ip_precedence_2" new-packet-mark=ip_precedence_2 passthrough=no priority=2
add action=mark-packet chain=postrouting comment="pri3 - critical data - ip_precedence_3" new-packet-mark=ip_precedence_3 passthrough=no priority=3
add action=mark-packet chain=postrouting comment="pri4 - interactive - ip_precedence_4" new-packet-mark=ip_precedence_4 passthrough=no priority=4
add action=mark-packet chain=postrouting comment="pri5 - audio - ip_precedence_5" new-packet-mark=ip_precedence_5 passthrough=no priority=5
add action=mark-packet chain=postrouting comment="pri6 - internet control - ip_precedence_6" new-packet-mark=ip_precedence_6 passthrough=no priority=6
add action=mark-packet chain=postrouting comment="pri7 - network control - ip_precedence_7" new-packet-mark=ip_precedence_7 passthrough=no priority=7
/queue/tree
add bucket-size=0.01 comment="WAN" max-limit=200M name=sfp-sfpplus3 parent=sfp-sfpplus3-tr queue=default
add comment="Queue Priority 1" limit-at=10M max-limit=200M name="IP Precedence 7" packet-mark=ip_precedence_7 parent=sfp-sfpplus3 priority=1 queue=default
add comment="Queue Priority 2" limit-at=10M max-limit=200M name="IP Precedence 6" packet-mark=ip_precedence_6 parent=sfp-sfpplus3 priority=2 queue=default
add comment="Queue Priority 3" limit-at=40M max-limit=200M name="IP Precedence 5" packet-mark=ip_precedence_5 parent=sfp-sfpplus3 priority=3 queue=default
add comment="Queue Priority 4" limit-at=10M max-limit=200M name="IP Precedence 4" packet-mark=ip_precedence_4 parent=sfp-sfpplus3 priority=4 queue=default
add comment="Queue Priority 5" limit-at=20M max-limit=200M name="IP Precedence 3" packet-mark=ip_precedence_3 parent=sfp-sfpplus3 priority=5 queue=default
add comment="Queue Priority 6" limit-at=10M max-limit=190M name="IP Precedence 0" packet-mark=no-mark parent=sfp-sfpplus3 priority=6 queue=default
add comment="Queue Priority 7" limit-at=10M max-limit=200M name="IP Precedence 2" packet-mark=ip_precedence_2 parent=sfp-sfpplus3 priority=7 queue=default
add comment="Queue Priority 8" limit-at=10M max-limit=200M name="IP Precedence 1" packet-mark=ip_precedence_1 parent=sfp-sfpplus3 queue=default