According to this page ⟶ https://help.mikrotik.com/docs/display/ROS/L3+Hardware+Offloading#L3HardwareOffloading-L3HWMACAddressRangeLimitation(DX2000/DX3000seriesonly)
Creating multiple bridges
The devices support > only one > hardware bridge. If there are multiple bridges created, > only one > gets hardware offloading. While for L2 that means software forwarding for other bridges, in the case of L3HW, > multiple bridges may lead to undefined behavior> .
My question stems from wanting to have a “loopback” interface on my CCR + CRS devices. A loopback interface is created in RouterOS by creating a bridge interface without any “member” ports in the bridge itself. The documentation will usually call this loopback interface “lobridge”.
/interface/bridge/add name=lobridge protocol-mode=none
The documentation mentions undefined behavior. Can this “undefined behavior” be avoided by only hardware offloading ports that is member if a select bridge (e.g. bridge1)?
Scripting example,
# Disable hardware offloading before making changes on the switch chip
/interface/ethernet/switch/set switch1 l3-hw-offloading=no
# Disable full hardware routing on all ports
/interface/ethernet/switch/port set [ find ] l3-hw-offloading=no
# Enable full hardware routing on interfaces in bridge1
:foreach i in=[ /interface/bridge/port/find where bridge=bridge1 ] do={
/interface/ethernet/switch/port set [ /interface/bridge/port/get $i interface ] l3-hw-offloading=yes
}
# Enable hardware offloading after making changes on the switch chip
/interface/ethernet/switch/set switch1 l3-hw-offloading=no
Then verify which ports are hardware offloaded using
# Verify the ports with hardware offloading enabled
/interface/ethernet/switch/port/print where l3-hw-offloading=yes
# Verify the ports with hardware offloading disabled
/interface/ethernet/switch/port/print where l3-hw-offloading=no
# Verify hardware offloading was reenabled on the switch chip
/interface/ethernet/switch/print