Skip to content

CRS3xx, CRS5xx, CCR2116, CCR2216 Switch Chip Features

CRS3xx, CRS5xx, CCR2116, CCR2216 Switch Chip Features

Section titled “CRS3xx, CRS5xx, CCR2116, CCR2216 Switch Chip Features”

The CRS3xx, CRS5xx series switches and CCR2116, CCR2216 routers feature highly integrated switches with high-performance CPUs and feature-rich packet processors. These devices support versatile Ethernet applications including unmanaged switches, Layer 2 managed switches, carrier switches, inter-VLAN routing, and unified packet processing.

This documentation applies to CRS3xx, CRS5xx series switches and CCR2116, CCR2216 routers. For CRS1xx/CRS2xx series switches, refer to CRS1xx/2xx Series Switches Examples.

  • Configurable Ports: Ports can be configured for switching or routing operations
  • Wire-Speed Switching: Full non-blocking forwarding at maximum port speeds
  • Large Unicast FDB: Forwarding Database supports extensive Layer 2 unicast entries
  • IVL-Based Learning: Forwarding Databases operate using Independent VLAN Learning
  • Jumbo Frame Support: Handles frames up to 10218 bytes on most models
  • IGMP Snooping: Hardware-accelerated multicast group management
  • DHCP Snooping: Security feature with Option 82 support

Layer 3 Hardware Offloading enables wire-speed routing by offloading packet processing to the switch chip:

  • IPv4/IPv6 Unicast Routing: Full routing protocol support in hardware
  • Interface Support: Ethernet, Bridge, Bonding, and VLAN interfaces
  • ECMP: Equal-Cost Multi-Path routing for load balancing
  • Blackholes: Route filtering and null routing capabilities
  • Fasttrack Offloading: Accelerated connections for performance-critical traffic
  • NAT for Fasttrack: Hardware-accelerated NAT for offloaded connections
  • Multiple MTU Profiles: Flexible MTU configuration per interface

Full STP family support with hardware acceleration:

  • STP: Classical Spanning Tree Protocol (802.1D)
  • RSTP: Rapid Spanning Tree Protocol (802.1w)
  • MSTP: Multiple Spanning Tree Protocol (802.1s)
  • Port Features: Edge port, BPDU Guard, Root Guard support

Multiple mirroring types for network analysis and troubleshooting:

  • Port-Based Mirroring: Mirror traffic by source port
  • VLAN-Based Mirroring: Mirror traffic based on VLAN membership
  • MAC-Based Mirroring: Mirror traffic from specific MAC addresses
  • RSPAN: Remote Switch Port Analyzer for distributed monitoring

Comprehensive VLAN functionality:

  • Standards Compliance: IEEE 802.1Q and IEEE 802.1ad compatible
  • Active VLANs: Support for up to 4096 VLANs
  • VLAN Assignment Methods:
    • Port-based VLAN assignment
    • Protocol-based VLAN assignment
    • MAC-based VLAN assignment
  • VLAN Filtering: Hardware-accelerated packet filtering
  • Ingress VLAN Translation: Modify VLAN IDs on ingress
  • MVRP: Multiple VLAN Registration Protocol support

Link aggregation with hardware acceleration:

  • Modes: 802.3ad (LACP), balance-xor, active-backup
  • Member Ports: Up to 8 ports per bonding interface
  • Hardware Offload: Automatic failover and load balancing
  • MLAG: Multi-Chassis Link Aggregation support

Advanced traffic management:

  • Output Queues: 8 queues per port
  • DSCP/PCP Mapping: Layer 3 and Layer 2 QoS marking support
  • Trust Settings: Port-based Layer 2 and Layer 3 trust configuration
  • Rate Limiting: Port and queue-based egress shaping
  • Policy-Based QoS: ACL-based traffic classification
  • Scheduling: Strict Priority and SDWRR queuing
  • ETS: Enhanced Transmission Selection
  • WRED: Weighted Random Early Detection (select models)
  • ECN: Explicit Congestion Notification (select models)
  • PFC: Priority-based Flow Control (select models)
  • Traffic Storm Control: Prevent broadcast/multicast storms
  • RoCE Compatible: Ready for RDMA over Converged Ethernet

Private VLAN implementation support for network segmentation.

Hardware-accelerated packet filtering:

  • Ingress ACL: Packet filtering on ingress ports
  • Classification: Layer 2, 3, and 4 header field matching
  • Actions: Filter, forward, or modify packet headers

Hardware timestamping for nanosecond-level synchronization:

  • Clock Types: Two-step Ordinary Clock and Boundary Clock
  • Transport Modes: IPv4 and Layer 2 multicast
  • Delay Mechanisms: E2E and P2P support
  • Standards: IEEE 1588-2008 (PTPv2)
  • Profiles: 802.1AS, AES67, G.8275.1, SMPTE support

For L3 hardware offloading details and limits, consult the L3 Hardware Offloading documentation. For QoS hardware offloading information, refer to the Quality of Service guide.

ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS305-1G-4S+IN98DX3236ARM 2-core 800MHz512 MB1x GE + 4x 10G SFP+-12816K10218
CRS305-1G-4S+OUT98DX226SARM 2-core 800MHz256 MB1x GE + 4x 10G SFP+-12816K10218
CRS304-4XG-IN98DX2528ARM64 2-core 1200MHz512 MB4x 1/2.5/5/10G-12816K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS326-24G-2S+98DX3236ARM 2-core 800MHz512 MB24x GE + 2x 10G SFP+-12816K10218
CRS326-24S+2Q+RM98DX8332MIPSBE 1-core 650MHz128 MB24x 10G SFP+-25632K10218
CRS328-24P-4S+RM98DX3236ARM 1-core 800MHz512 MB24x GE + 4x 10G SFP+24x af/at12816K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS354-48G-4S+2Q+RM98DX3257MIPSBE 1-core 650MHz128 MB48x GE + 4x 10G SFP+-17032K10218
CRS354-48P-4S+2Q+RM98DX3257MIPSBE 1-core 650MHz128 MB48x GE + 4x 10G SFP+48x af/at17032K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS312-4C+8XG-RM98DX8212MIPSBE 1-core 650MHz64 MB4x 10G combo + 8x 10G-51232K10218
CRS328-4C-20S-4S+RM98DX3236ARM 2-core 800MHz512 MB20x 1G SFP + 4x combo + 4x 10G-12816K10218
CRS326-4C+20G+2Q+RM98DX8332MIPSBE 1-core 650MHz128 MB4x 2.5G combo + 20x 2.5G-25632K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS309-1G-8S+IN98DX8208ARM 2-core 800MHz512 MB1x GE + 8x 10G SFP+-102432K10218
CRS317-1G-16S+RM98DX8216ARM 2-core 800MHz1 GB1x GE + 16x 10G SFP+-1024128K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS504-4XQ98DX4310MIPSBE 1-core 650MHz64 MB4x 100G QSFP28-1024128K10218
CRS510-8XS-2XQ-IN98DX4310MIPSBE 1-core 650MHz128 MB8x 25G SFP28 + 2x 100G-1024128K10218
CRS518-16XS-2XQ-RM98DX8525MIPSBE 1-core 650MHz64 MB16x 25G SFP28 + 2x 100G-1024128K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CCR2116-12G-4S+98DX3255ARM64 16-core 2000MHz16 GB12x GE + 4x 10G SFP+-51232K9570
CCR2216-1G-12XS-2XQ98DX8525ARM64 16-core 2000MHz16 GB12x 25G SFP28 + 2x 100G-1024128K9570
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS318-1Fi-15Fr-2S-OUT98DX224SARM 2-core 800MHz256 MB16x 100M + 2x 1G SFP1x passive12816K10218
CRS318-16P-2S+OUT98DX226SARM 2-core 800MHz256 MB16x GE + 2x 10G SFP+16x af/at12816K10218
CRS310-1G-5S-4S+98DX226SARM 2-core 800MHz256 MB1x GE + 5x 1G SFP + 4x 10G-12816K10218
CRS310-8G+2S+IN98DX226SARM 2-core 800MHz256 MB8x 2.5G + 2x 10G SFP+-12816K10218
CRS320-8P-8B-4S+RM98DX226SARM 2-core 800MHz256 MB16x GE + 4x 10G SFP+8x af/at + 8x bt12816K10218
CRS418-8P-8G-2S+RM98DX226SARM64 4-core 2208MHz1 GB16x GE + 2x 10G SFP+8x af/at12816K10218
ModelSwitch ChipCPURAMEthernet PortsPoEACL RulesFDB EntriesJumbo
CRS520-4XS-16XQ-RM98CX8410ARM64 4-core 2000MHz4 GB4x 25G SFP28 + 16x 100G-682256K9570
CRS812-8DS-2DQ-2DDQ-RM98DX7335ARM64 4-core 2000MHz4 GB8x 50G + 2x 200G + 2x 400G-1365128K9570
RDS2216-2XG-4S+4XS-2XQ98DX4310ARM64 16-core 2000MHz32 GB2x 10G + 4x 10G + 4x 25G + 2x 100G-1024128K9570
  • ACL: Access Control List
  • CVID: Customer VLAN ID
  • FDB: Forwarding Database
  • IVL: Independent VLAN Learning
  • MDB: Multicast Database
  • PVID: Port VLAN ID - the default VLAN assigned to untagged traffic entering a port. When an untagged frame arrives, the switch assigns it to the PVID and processes it accordingly. When frames leave through an untagged port, they are sent without a VLAN tag.
  • SVID: Service VLAN ID
  • SVL: Shared VLAN Learning

Port switching combines multiple physical ports into a single switching domain. To enable hardware-accelerated port switching:

/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2 hw=yes
add bridge=bridge1 interface=ether7 hw=yes

Only one bridge can use hardware offloading at a time. Use the hw parameter to select which bridge receives hardware acceleration.

Bridge VLAN filtering provides standards-compliant Layer 2 forwarding with VLAN tag manipulation. This approach ensures compatibility with STP standards and enables MSTP support.

For users new to 802.1Q VLANs, PVID (Port VLAN ID) is a fundamental concept that defines how untagged traffic is handled on a switch port.

What is PVID?

  • PVID assigns a default VLAN ID to any untagged Ethernet frame entering a port
  • When a device sends traffic without a VLAN tag (untagged), the switch assigns it to the PVID
  • This allows devices that don’t support VLAN tagging to participate in VLAN networks

How PVID works:

  1. Untagged traffic arrives at the switch port
  2. The switch examines the port’s PVID setting
  3. The frame is assigned to that VLAN internally
  4. When the frame exits through a port configured as untagged for that VLAN, the tag is removed

Example: Setting PVID on access ports

/interface bridge port
add bridge=bridge1 interface=ether2 pvid=10
add bridge=bridge1 interface=ether3 pvid=10

In this example, any untagged traffic entering ether2 or ether3 is assigned to VLAN 10. When this traffic leaves through another port configured as untagged for VLAN 10, it leaves without a VLAN tag.

PVID and Bridge VLAN Table In RouterOS with VLAN filtering enabled, the PVID setting on bridge ports works together with the bridge VLAN table:

  • The pvid property on a bridge port defines the VLAN for untagged ingress traffic
  • The bridge VLAN table defines which ports carry each VLAN as tagged or untagged

Configure VLANs based on switch port membership:

/interface bridge vlan
add bridge=bridge1 tagged=ether2 untagged=ether7 vlan-ids=200,300,400

Assign VLANs based on source MAC address using ACL rules:

/interface ethernet switch rule
add switch=switch1 ports=ether7 src-mac-address=A4:12:6D:77:94:43/FF:FF:FF:FF:FF:FF new-vlan-id=200
add switch=switch1 ports=ether7 src-mac-address=84:37:62:DF:04:20/FF:FF:FF:FF:FF:FF new-vlan-id=300
add switch=switch1 ports=ether7 src-mac-address=E7:16:34:A1:CD:18/FF:FF:FF:FF:FF:FF new-vlan-id=400

MAC-based VLANs only work between switch ports, not between switch ports and CPU. DHCP packets with DHCP snooping enabled are not affected by MAC-based VLAN rules.

Assign VLANs based on EtherType protocol:

/interface ethernet switch rule
add mac-protocol=ip new-vlan-id=200 ports=ether6 switch=switch1
add mac-protocol=ipx new-vlan-id=300 ports=ether7 switch=switch1
add mac-protocol=0x80F3 new-vlan-id=400 ports=ether8 switch=switch1

Protocol-based VLANs only work between switch ports. DHCP packets with DHCP snooping enabled are not affected.

Provider bridge (IEEE 802.1ad) with tag stacking enables service provider VLAN deployments:

/interface bridge
set bridge1 ether-type=0x88a8

CRS354 series devices with Marvell-98DX3255 chip do not support VLAN filtering on 1Gbps interfaces for 0x88a8 and 0x9100 VLAN types.

Translate VLAN IDs on ingress using ACL rules:

/interface bridge
add name=bridge1 vlan-filtering=no
/interface bridge port
add interface=ether1 bridge=bridge1 hw=yes
add interface=ether2 bridge=bridge1 hw=yes
/interface ethernet switch rule
add new-dst-ports=ether2 new-vlan-id=20 ports=ether1 switch=switch1 vlan-id=10
add new-dst-ports=ether1 new-vlan-id=10 ports=ether2 switch=switch1 vlan-id=20
/interface bridge vlan
add bridge=bridge1 tagged=ether1 vlan-ids=10
add bridge=bridge1 tagged=ether2 vlan-ids=20
/interface bridge set bridge1 vlan-filtering=yes

Bidirectional VLAN translation is limited to two switch ports. Translation between multiple ports may cause traffic flooding.

These devices support STP, RSTP, and MSTP at the hardware level. Configure spanning tree:

/interface bridge
add name=bridge1 protocol-mode=rstp
/interface bridge port
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3

Create hardware-offloaded bonding interfaces:

/interface bonding
add mode=802.3ad name=bond1 slaves=ether1,ether2
/interface bridge
add name=bridge
/interface bridge port
add bridge=bridge interface=bond1 hw=yes
add bridge=bridge interface=ether3 hw=yes
add bridge=bridge interface=ether4 hw=yes

Only 802.3ad (LACP), balance-xor, and active-backup modes support hardware offloading. Do not add interfaces that are already slaves in a bonding configuration to a bridge.

Verify hardware offloading with:

/interface bridge port print

Look for the H flag indicating hardware offload.

L3 hardware offloading enables wire-speed routing by processing packets in the switch chip. This significantly improves routing performance for IPv4 and IPv6 traffic.

Offloaded routing supports:

  • Ethernet, Bridge, Bonding, and VLAN interfaces
  • ECMP for load balancing
  • Blackhole routes
  • Fasttrack connections
  • NAT for Fasttrack traffic

Private VLAN implementation restricts communication between ports:

/interface ethernet switch port
set ether1 isolated=yes
set ether2 isolated=yes

Port isolation works with VLAN filtering and can isolate ports within the same VLAN. Hardware-offloaded bonding interfaces require individual port configuration.

Hardware-accelerated multicast snooping reduces unnecessary multicast traffic:

/interface bridge
add name=bridge1 igmp-snooping=yes
/interface bridge mdb
add bridge=bridge1 interface=ether2 group=224.1.1.1

DHCP snooping with Option 82 provides security for DHCP deployments:

/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether2 hw=yes
add bridge=bridge1 interface=ether3 hw=yes
/ip dhcp-snooping
set enabled=yes
/interface bridge port
set [find] dhcp-snooping=yes

DHCP snooping creates dynamic ACL rules to redirect DHCP packets to the CPU. Starting from RouterOS v7.17, DHCP snooping supports hardware-offloaded bonding interfaces.

Mirror traffic for analysis and monitoring.

/interface ethernet switch port
set ether2 mirror-egress=yes mirror-ingress=yes
set ether3 mirror-target=yes
/interface ethernet switch rule
add mirror=yes ports=ether1 switch=switch1 vlan-id=100
/interface ethernet switch rule
add mirror=yes ports=ether1 switch=switch1 src-mac-address=64:D1:54:D9:27:E6/FF:FF:FF:FF:FF:FF
/interface ethernet switch rule
add mirror=yes ports=ether1 switch=switch1 src-address=192.168.88.0/24
/interface bridge
add name=bridge1
/interface bridge vlan
add bridge=bridge1 tagged=ether3 vlan-ids=999

The mirror-target port must be on the same switch. The mirror-target can be a standalone interface or part of a bridge.

/interface ethernet switch port
set ether1 ingress-rate=10M egress-rate=5M
/interface ethernet switch rule
add ports=ether1 switch=switch1 src-mac-address=64:D1:54:D9:27:E6/FF:FF:FF:FF:FF:FF rate=10M
/interface bridge
set bridge1 vlan-filtering=yes
/interface ethernet switch rule
add ports=ether1 switch=switch1 vlan-id=11 rate=10M
/interface ethernet switch rule
add ports=ether1 switch=switch1 mac-protocol=ipx rate=10M

The ingress policer drops excess traffic. The egress shaper queues packets and drops when queues are full. Traffic shaping affects TCP congestion control on end hosts.

The egress-rate and storm-rate settings do not work correctly on 10Gbps ports when linked at lower speeds for 98DX224S, 98DX226S, 98DX2528, and 98DX3236 switch chips.

Prevent network overload from broadcast storms:

/interface ethernet switch port
set ether1 storm-rate=10 limit-broadcasts=yes limit-unknown-unicasts=yes

Parameters:

  • storm-rate: Percentage of link speed (0-100)
  • limit-broadcasts: Limit broadcast traffic (default: yes)
  • limit-unknown-multicasts: Limit unknown multicast traffic
  • limit-unknown-unicasts: Limit unknown unicast traffic

For a 1Gbps link, storm-rate=10 allows 100Mbps of storm traffic.

Devices with 98DX224S, 98DX226S, 98DX2528, 98DX3236 chips cannot distinguish unknown multicast from all multicast traffic.

Access Control Lists provide wire-speed packet filtering and modification.

Matching Conditions:

PropertyDescription
copy-to-cpuClone matching packet to CPU
redirect-to-cpuRedirect packet to CPU
mirrorClone packet to mirror target
new-dst-portsChange destination port
new-vlan-idModify VLAN ID
new-vlan-priorityModify VLAN priority
rateLimit ingress traffic rate

Layer 2 Matchers:

PropertyDescription
dst-mac-addressDestination MAC address
mac-protocolEthernet protocol type. In RouterOS 7.17 and later, this property matches against the inner protocol for double-tagged frames (Q-in-Q), matching the actual payload protocol rather than the outer VLAN tag EtherType.
src-mac-addressSource MAC address
vlan-idVLAN ID
vlan-headerVLAN header presence
vlan-priorityVLAN priority (PCP)

Layer 3 Matchers:

PropertyDescription
dscpDSCP value
protocolIP protocol number
dst-addressDestination IPv4 address
src-addressSource IPv4 address
dst-address6Destination IPv6 address
src-address6Source IPv6 address
flow-labelIPv6 flow label
traffic-classIPv6 traffic class

Layer 4 Matchers:

PropertyDescription
dst-portDestination port number
src-portSource port number
/interface ethernet switch rule
add disabled=no mirror=no new-dst-ports="" ports=ether1 switch=switch1 \
src-mac-address=64:D1:54:81:EF:8E/FF:FF:FF:FF:FF:FF
add disabled=no new-dst-ports="" ports=ether1 switch=switch1

ACL rules are checked sequentially. The first matching rule determines the action. Use the place-before property or move command to adjust rule order.

:::caution RouterOS 7.17 mac-protocol Behavior Change Starting from RouterOS 7.17, the mac-protocol matcher in switch rules behaves differently for double-tagged (Q-in-Q) frames:

  • Before 7.17: mac-protocol matched against the outer VLAN tag EtherType (0x8100 for C-TAG or 0x88a8 for S-TAG)
  • 7.17 and later: mac-protocol matches against the inner protocol (the actual payload protocol, such as 0x0800 for IPv4, 0x0806 for ARP, etc.)

This change affects configurations that rely on mac-protocol matching for VLAN-tagged traffic. If you have switch rules that use mac-protocol filtering and upgraded to 7.17, you may need to adjust your rules.

Example adjustment for matching IPv4 traffic in a Q-in-Q scenario:

# Before 7.17 - matching outer tag
/interface ethernet switch rule
add mac-protocol=0x8100 new-vlan-id=200 ports=ether1 switch=switch1
# 7.17 and later - matching inner payload
/interface ethernet switch rule
add mac-protocol=ip new-vlan-id=200 ports=ether1 switch=switch1

:::

Modifying ACL rules may cause temporary packet leakage during the update process.

Limit allowed MAC addresses on individual ports:

/interface ethernet switch rule
add ports=ether1 src-mac-address=64:D1:54:81:EF:8E/FF:FF:FF:FF:FF:FF switch=switch1
add new-dst-ports="" ports=ether1 switch=switch1
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether1 hw=yes learn=no unknown-unicast-flood=no
add bridge=bridge1 interface=ether2 hw=yes
/interface bridge host
add bridge=bridge1 interface=ether1 mac-address=64:D1:54:81:EF:8E

Disable flooding parameters to prevent broadcast/multicast leakage. Some protocols like DHCP and streaming media may require flooding.

CRS3xx/CRS5xx switches support dual boot with SwOS. Configure SwOS from RouterOS:

/system routerboard settings
set boot-os=swos

After reboot, the device runs SwOS. To return to RouterOS:

/system routerboard settings
set boot-os=routeros