poor bridge/vlan throughput

with different devices plugged into the same switch on ports 9&11 with vid 1 doing an iperf I get 900mbits throughput however if i change port 11 to vlan100 I only get an erratic 250mbits any idea why this may be?

/interface bridge
add admin-mac=xxxxxxxxxxx auto-mac=no comment=defconf name=bridge \
    vlan-filtering=yes

/interface vlan
add interface=bridge name=vlan100 vlan-id=100

/interface list
add name=WAN
add name=LAN

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/ip pool
add name=vlan100_pool ranges=10.20.20.1-10.20.20.253

/ip dhcp-server
add address-pool=vlan100_pool bootp-support=none disabled=no interface=vlan100 \
    lease-time=1d name=vlan100_dhcp
add bridge=bridge comment=defconf interface=ether12 pvid=100

/interface bridge vlan
add bridge=bridge vlan-ids=1
add bridge=bridge tagged=sfp-sfpplus1,bridge vlan-ids=100

/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
add address=10.10.0.9/24 interface=ether2 network=10.10.0.0
add address=10.20.20.254/24 interface=vlan100 network=10.20.20.0

/ip dhcp-server network
add address=10.20.20.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=10.20.20.254 \
    netmask=24

/ip firewall nat
add action=masquerade chain=srcnat out-interface=bridge src-address=\
    10.20.20.0/24

Between devices on the same VLAN you are bridging layer 2 traffic, a Mikrotik which supports hardware-offloading on a vlan-aware bridge will pass this at wire speed.

Between devices on different VLANs you are routing layer 3 traffic, this is limited by the CPU performance of the Mikrotik unless you have a model which supports layer 3 hardware-offload and have configured it appropriately.

The config needs work.

What is the device model you are using ?

Thanks for that i’m using a CRS354-48G-4S+2Q+ do you know how if this supports layer 3 hardware-offload?

Happy for any input on improving it

CRS354-48G-4S+2Q+

https://help.mikrotik.com/docs/display/ROS/Basic+VLAN+switching

Thanks so what chanbges do i need to make to my config without breaking the dhcp etc?

CRS354 supports L3 hardware offload after ROS v7.1…
https://help.mikrotik.com/docs/display/ROS/L3+Hardware+Offloading#L3HardwareOffloading-CRS3xx:SwitchDX3000andDX2000Series

I’ve upgraded SWOS and enabled layer 3 hardward offload on all ports and chip but now performance is even worse at 140mbit/s

# may/12/2022 10:30:46 by RouterOS 7.2.3
# model = CRS354-48G-4S+2Q+


/interface bridge
add admin-mac=xxxxxx auto-mac=no comment=defconf \
    ingress-filtering=no name=bridge vlan-filtering=yes

/interface vlan
add interface=bridge name=vlan100 vlan-id=100
/interface ethernet switch
set 0 l3-hw-offloading=yes

/interface list
add name=WAN
add name=LAN

/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/ip pool
add name=vlan100_pool ranges=10.20.20.1-10.20.20.253
/ip dhcp-server
add address-pool=vlan100_pool bootp-support=none interface=vlan100 lease-time=\
    1d name=vlan100_dhcp
/port
set 0 name=serial0

/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether12 \
    pvid=100

/interface bridge vlan
add bridge=bridge vlan-ids=1
add bridge=bridge tagged=sfp-sfpplus1,bridge vlan-ids=100

/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
add address=10.10.0.9/24 interface=ether2 network=10.10.0.0
add address=10.20.20.254/24 interface=vlan100 network=10.21.0.0
/ip dhcp-server network
add address=10.20.20.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=10.20.20.254 \
    netmask=24

/ip dns
set servers=1.1.1.1

/ip firewall nat
add action=masquerade chain=srcnat out-interface=bridge src-address=\
    10.20.20.0/24