CRS326, CRS312, How do i setup DSCP for use with Dante?

How do i configure the swtiches with DSCP for Dante?
The issue is high latency on the audio. So theres some audible glitches/cracks/sparkles when using the audio.

Switches running RouterOS v6.49.9 long-term..

Here is a link for the information about Dante and Switches.
https://focusrite.com/articles/configuring-a-switch-for-dante/
https://usa.yamaha.com/products/contents/proaudio/docs/dante_network_design_guide/301_qos.html

QoS is controlled under /interface/ethernet/switch. And docs are here for using QoS marking in the switch are here:
https://help.mikrotik.com/docs/pages/viewpage.action?pageId=189497483


But I’m skeptical the high latency be due to the lack of marking… This sounds more like a clocking error.

  • Does the switch have a lot of non-Dante traffic on same LAN/VLAN that actually require prioritization?
  • Does the Dante Controller show any clock errors or other errors?
  • You mention Yamaha… is the console using the Dante as its clock? It defaults to the internal clock, but need set it use Dante interface’s clock.
  • If using redundant mode (and not daisy-chain), are you sure the two networks are not “crossing” – primary and secondary have to be completely isolated from each other.
  • If you using Dante DVS or Via on PC, I’d try disconnect them & see if pops/etc go away… If fixes, turn off more services on the PC… Some latency issues in the PC, can manifest itself on the Dante network.

Basically, I just don’t see how CRS326 would technically need DSCP, unless you got a HUGE amount of other traffic on same network as Dante.

In “my” studio, where I was doing part of networking, they decide to not mix Dante with other traffic and boths networks are splitted and use different set of devices … for Dante they use CISCO.

qos-hw is a new feature that does not work with RouterOS v6 as far as I am aware. You’ll need to upgrade the switches to v7 to allow you to do QoS with the new function. You won’t really have any options for this on v6.

Time has passed and RouterOS has been developing. Now 7.15 and newer supports DSCP QoS prioritization etc.
I’ve been reading the documentation for that and the guide is based on that you have the switch default configured with all ports switched in a bridge.
https://help.mikrotik.com/docs/spaces/ROS/pages/189497483/Quality+of+Service#QualityofService-Dante

So, how can i divide the switch so one part is for Dante and the other data? or separate them into two bridges?
Lets say that we are using one VLAN for Dante and one VLAN for data. And who also uses an uplink to a customers network switch were you have been assigned a VLAN to be on.
Also you have a couple of more rooms with about the same setup, switches etc.. and also on the same assigned VLAN.

There will be some challenges with this. Because of IGMP Querier and IGMP Snooping. Where you can only have one IGMP Querier.
How can that be solved?

There is also a isolated 10gig SDVoE switch for multicast traffic who are its own IGMP Querier and also IGMP Snooping on relevant ports.

My case explanation isnt the best, but i would appreciate if you can give some guidance in general how to integrate Dante/Data on a CRS-switch with uplink and VLAN’s
Using CRS-328-24P but might be appliable to some others we have. CRS317 and CRS326’s

That’s a good question… I’m not the expert on the CRS326, and haven’t tested Dante with it… But same DSCP marks should work on a VLAN with Dante, if VLANs were setup AFAIK.

And you want one bridge, see https://help.mikrotik.com/docs/spaces/ROS/pages/30474317/CRS3xx+CRS5xx+CCR2116+CCR2216+switch+chip+features#CRS3xx,CRS5xx,CCR2116,CCR2216switchchipfeatures-VLAN

Now the IGMP part I’m less sure… But Bridge IGMP only deals with untagged packets per manual (https://help.mikrotik.com/docs/spaces/ROS/pages/59277403/Bridge+IGMP+MLD+snooping#BridgeIGMP%2FMLDsnooping-IGMPsnoopingconfigurationwithVLANs) and PIM/IGMP multicast routing does go through CPU (https://help.mikrotik.com/docs/spaces/ROS/pages/62390319/L3+Hardware+Offloading#L3HardwareOffloading-L3HWFeatureSupport)… But since IGMP and/or multicast routing is not strictly needed for Dante, it may not be critical. Both since using a Dante-only VLAN will isolate all Dante multicast to Dante VLAN and if Dante flow to all Dante ports IGMP just result in same flooding without it, plus unicast Dante flow might be used so IGMP does not even come into play.

since RoS 7.16.x winbox provide a very useful GUI to switch QoS settings, i think that can make easier to interact with switch QoS settings and stats

Thank you for all hints and tips.

I see, by using one bridge you can utilize the hardware offloading. Using two or more bridges disables that

So, for an example. Switch with 16 ports, Port 1-8 Dante ports on vlan 123 and Port 9-16 on vlan 456, where port 16 also is an uplink port to the site switch who also provided the vlan 456 to be used for these systems/installs.

Therefore there will be needed to implement switch group isolation so only dante ports can talk to each other and only data ports to each other.
That are easily done with override forwarding on the switch chip isolation settings.

But an igmp querier for the dante ports is not achievable i think. Since the querier is bridge based.
Those QoS rules can be applied anyway, fast leave and igmp snooping. Might even not be an issue. Since the ports are isolated from the uplink

Would be cool though if there was possible to have a VLAN based igmp querier.

Would be cool though if there was possible to have a VLAN based igmp querier.

The bridge lacks this feature, but you could create routable VLAN interfaces on bridge, assign IPs and use thouse VLANs for IGMP-proxy to act as your queriers. Here is an example with RouterOS 7.17rc1, the “lo” interface acts as a dummy upstream interface and VLAN 10, 20 are downstream interfaces where IGMPv2 general queries are sent every 60 second:

/interface bridge
add igmp-snooping=yes multicast-querier=yes name=bridge1 vlan-filtering=yes
/interface vlan
add interface=bridge1 name=vlan10 vlan-id=10
add interface=bridge1 name=vlan20 vlan-id=20
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether2 pvid=10
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether3 pvid=10
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether4 pvid=20
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether5 pvid=20
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=sfp-sfpplus1
/interface bridge vlan
add bridge=bridge1 tagged=sfp-sfpplus1 vlan-ids=10
add bridge=bridge1 tagged=sfp-sfpplus1 vlan-ids=20
/ip address
add address=192.168.10.10/24 interface=vlan10 network=192.168.10.0
add address=192.168.20.10/24 interface=vlan20 network=192.168.20.0
add address=192.168.1.1 interface=lo network=192.168.1.1
/routing igmp-proxy
set query-interval=60s
/routing igmp-proxy interface
add interface=lo upstream=yes
add interface=vlan10
add interface=vlan20
1 Like