Question: CRS Hardware Multicast Routing

Hi! First post here: my apologies if this is posted in the wrong part of the forum, or I’m asking something of a naive question.

I was curious to research how a CRS518 switch might fair in a relatively lightweight, ST 2110 + Dante setup, along with the different network architectures that one could implement with the device, and find myself diving into some of the documentation for the device.

In particular, I found myself looking through the documentation page on L3 Hardware Offloading — curious to understand what can (and can’t) be achieved at “near wire speed” in the RouterOS ecosystem, with regards to multicast traffic.

Whilst reading, I spotted this:

IPv4 Multicast Routing Support — CPU. The feature is supported, but performed by software (CPU).

I'd like to ensure I'm understanding what I've read correctly. Which of the following is correct — if either?

  1. To be routed between subnets, multicast data must flow through the CPU.
    • Only multicast frames flowing through the same broadcast domain, “pruned” by IGMP Snooping (if required), can be directly forwarded by the switch chip.
    • If a multicast packet must cross between subnets, it must flow through the CPU, be routed in software, and flow back out to the switch chip.
  2. Multicast data can be routed between VLANs, within the switch chip, at near-wire speed — once the CPU has "helped" to set things up.
    • The multicast routing (MRIB) is set-up by the CPU, but the actual L3 routing happens within the switch chip.
    • IGMP and PIM packets need to be forwarded to the CPU to maintain the MRIB — but
    • the multicast data itself does not need to be forwarded to the CPU for onward routing.

For clarity, I was reading the documentation with regards to aCRS518-16XS-2XQswitch, with a Marvell 98DX8525switch chip as the installed ASIC — but I am ultimately curious as to how this applies across all products.

TD;DR: At present, is routed multicast always limited by the CPU’s throughput in the MikroTik ecosystem? Is there any hardware acceleration at all, or is the process purely a software routine?

Thanks in advance for reading — please do share any wisdom you may have! :slightly_smiling_face:

1 Like