Hi again, now I got it working, using configuration similar to the example that infabo linked to – thank you!
The working config looks like this:
/interface bridge
add name=bridge
add name=bridge2 vlan-filtering=yes
/interface vlan
add interface=bridge2 name=vlan41 vlan-id=41
/interface bridge port
add bridge=bridge comment=defconf hw=no interface=ether1
add bridge=bridge2 frame-types=admit-only-vlan-tagged interface=sfp-sfpplus1
add bridge=bridge2 frame-types=admit-only-vlan-tagged interface=sfp-sfpplus2
add bridge=bridge2 frame-types=admit-only-untagged-and-priority-tagged interface=sfp-sfpplus3 pvid=41
/interface bridge vlan
add bridge=bridge2 tagged=sfp-sfpplus1,sfp-sfpplus2 vlan-ids=42
add bridge=bridge2 tagged=sfp-sfpplus1 untagged=sfp-sfpplus3 vlan-ids=41
/interface ethernet switch
set 0 l3-hw-offloading=yes
/ip address
[... ip addresses added here ...]
With that config, things work properly and with low cpu load, the cpu-load shown by the system/resource/print command is now only about 1% and there are no more ping delays and no more packet loss.
It was necessary to set “hw=no” for the first bridge, I think that is because hardware acceleration can only be used for one bridge and turning it off for the first one means that the second bridge gets it.
(The “l3-hw-offloading=yes” part I don’t think is really needed but I did not want to mess more with the config right now.)
Anyway, thanks everyone for the help and suggestions, it’s great to have it working now!