Bridge VLAN-Filter Offload broken on hEXr3?

I have observed that RouterOS upgrades take a bit longer than expected on the hEXr3, and, much worse, the unit will turn off ALL indicator LEDs during the process.

Be patient, and it will come back. Interrupt it, and you’re on the highway to Netinstall-land.

edit: I clocked two RouterOS upgrades on my hEXr3, and it appears completely dead and lights-out for about 1m40s during the upgrade process. I’ve opened a support ticket suggesting that Mikrotik should leave the Power LED on during an upgrade, if possible.

yeah RB750Gr3 takes a lot of time to upgrade like a CRS 3xx Switch, several minutes

Find out the issue, i tried to upload via the unit itself and didnt do it the tried and tested method of downloading files then uploading files…
To many ways for the auto method to get fubared when not directly connected to the ISP but through switches etc… A similary connected RBG450G and a wireguard connected RB4011 upgraded just fine using the ‘right’ way.

You are literally being too impatient. hEXr3 will be completely lights-out during RouterOS upgrade for ~1m40s. This is normal behavior.
If you leave it alone and let it finish, it’ll be fine.

How odd…

Just checked, Edge is set to Auto on my device.
Checked as well on AX3 (where the trunk is being made to Hex), the status Forwarding is active.

Similar on AX Lite where I experienced the same problem, it is solved there.

The configs I posted above don’t work - they either demonstrate buggy behavior on hEXr3, or they demonstrate my misunderstanding of rstp and vlan-filtering configuration.

Can you post your working configurations for comparisons’ sake?

See attached (cleaned up, confirmed it still works).

Difference I can see: you tag your VLAN-slave interface whereas I use bridge.

And according to this excellent VLAN guide, it is recommended to use bridge, not slave VLAN-itf.
But I could be wrong with my interpretation.
http://forum.mikrotik.com/t/using-routeros-to-vlan-your-network/126489/1

Can you try to do the same ?


# 2023-08-06 11:08:13 by RouterOS 7.11rc2
# software id = BFJX-J8NU
#
# model = RB750Gr3
# serial number = <serial>
/interface bridge
add admin-mac=<admin-mac> auto-mac=no comment=defconf frame-types=\
    admit-only-vlan-tagged ingress-filtering=no name=bridge vlan-filtering=\
    yes
/interface vlan
add interface=bridge name=VLAN2 vlan-id=2
add interface=bridge name=VLAN30 vlan-id=30
/interface list
add comment=defconf name=LAN
/ip pool
add name=dhcp ranges=192.168.200.20-192.168.200.254
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=10m name=defconf
/interface bridge port
add bridge=bridge ingress-filtering=no interface=ether2
add bridge=bridge ingress-filtering=no interface=ether3
add bridge=bridge ingress-filtering=no interface=ether4
add bridge=bridge ingress-filtering=no interface=ether5
add bridge=bridge frame-types=admit-only-vlan-tagged interface=ether1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge tagged=bridge vlan-ids=1
add bridge=bridge tagged=bridge,ether1 vlan-ids=2
add bridge=bridge tagged=bridge,ether1 vlan-ids=30
/interface list member
add comment=defconf interface=bridge list=LAN
/ip address
add address=192.168.200.1/24 comment=defconf interface=bridge network=\
    192.168.200.0
/ip dhcp-client
add interface=VLAN2
add interface=VLAN30
/ip dhcp-server network
add address=192.168.200.0/24 gateway=192.168.200.1 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.2.1 comment=defconf name=router.lan
/ip service
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
/system clock
set time-zone-name=Europe/Brussels
/system identity
set name=MTHex
/system note
set show-at-login=no
/system package update
set channel=testing
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool romon
set enabled=yes

Nice config, I will raise you the following —> note: ASSUMPTION, a router or another switch is feeding the hex switch on etherpor1

a. get ride of admit only vlan tagged on the bridge setting…
b. For a hex to be acting as a switch, no dhcp or pool is required.
c. additionally only the management vlan (where the hex gets its IP address) needs to be identified in /interface vlan
d. will assume vlan2 is management/trusted and vlan 30 is data.
e. no need to tag vlan1 ridonkulous.
d. tagging of bridge is only required for management vlan
e. only management vlan is part of LAN interface.
f. the address of the hex is taken from vlan2 subnet such as 192.168.200.15 etc…
g. mac-server should be set to NONE.

# 2023-08-06 11:08:13 by RouterOS 7.11rc2
# software id = BFJX-J8NU
#
# model = RB750Gr3
# serial number = <serial>
/interface bridge
add admin-mac=<admin-mac> auto-mac=no comment=defconf \
ingress-filtering=no name=bridge vlan-filtering=yes
/interface vlan
add interface=bridge name=VLAN2 vlan-id=2
/interface list
add comment=defconf name=LAN
/interface bridge port
add bridge=bridge ingress-filtering=yes frame-types=admit-prioirity-and-untagged interface=ether2 pvid=30
add bridge=bridgeingress-filtering=yes frame-types=admit-prioirity-and-untagged interface=ether3 pvid=30
add bridge=bridgeingress-filtering=yes frame-types=admit-prioirity-and-untagged interface=ether4 pvid=30
add bridge=bridge ingress-filtering=yes frame-types=admit-priority-and-untagged interface=ether5 pvid=30
add bridge=bridge ingress-filtering=yes frame-types=admit-only-vlan-tagged interface=ether1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge tagged=bridge,ether1 vlan-ids=2
add bridge=bridge tagged=ether1  untagged=ether2,ether3,ether4,ether5  vlan-ids=30
/interface list member
add interface=vlan2  list=LAN
/ip address
add address=192.168.200.X/24 comment=defconf interface=vlan2 network=\
    192.168.200.0
/ip dns
set allow-remote-requests=yes  server=192.168.200.1
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.200.1 routing-table=main
/ip service
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
/system clock
set time-zone-name=Europe/Brussels
/system identity
set name=MTHex
/system note
set show-at-login=no
/system package update
set channel=testing
/tool mac-server
set allowed-interface-list=NONE
/tool mac-server mac-winbox
set allowed-interface-list=LAN
/tool romon
set enabled=yes

Anav, it’s a test setup starting from an other test setup to conceptually proof BPDU problem is solved.
That Hex is only used for lab purposes.

But since you did the effort of reviewing, I will respond:
a- I know.
b- I know. Was from a previous setup. There’s nothing on ether2-5.
c- No, since this test setup requires to get DHCP services over trunk for vlan 2 and 30, both VLAN-itfs are slave interfaces to bridge.
d- yes
e- see a
d2 (???) - No. See c. It doesn’t work otherwise
e2 - Yes and … ? Test setup… there are not even firewall rules where this LAN interface can be used. See g.
f - the Hex itself did not get an IP address. Only the 2 DHCP clients on VLAN2 and VLAN30. Test setup…
g- Why ? Then Winbox Mac would not work if I completely screw up IP config. Or non-existent IP config. For internal network it doesn’t matter anyhow.

I’m not actually sure exactly what you’re referring to with “slave VLAN interface”.

I’m about 90% sure the difference is that Hardware Offload does not work with a pure Trunking configuration, whereas your setup is both a Hybrid bridge and hybrid ports. I’m going to lab this a bit more before I post configs.

These two configs work on older Mikrotiks that don’t do hardware offloaded VLAN filtering.

I have very similar configs in service on an RB5009 and a CRS305-1G-4S+, and I suspect these configs would work on those devices as well. (Both those devices are currently in-service, so I can’t really go loading lab configs on them)

But if you load one of these configs on a hEXr3 running 7.11rc, no bueno.

You need to either do one of the previously published workarounds (disable RSTP, set edge=yes, or turn off hardware offloading)
Alternatively, and I suspect this is what changed in 7.11rc, this will work if you set both the bridge itself and the bridge ports involved to frame-types=admit-all
nodeB.rsc (799 Bytes)
nodeA.rsc (791 Bytes)

There is nothing broken on the hex, except for the attempt to apply imaginary setups not based on reality and real requirements.

You can’t be serious. You mean real setups like my RB5009 and CRS305 which maintain a trunk-only Hardware Offloaded link with each other?

Very interesting. I think this might be a Hardware Offload (R)STP bug rather than a VLAN filtering bug.

If the hEX gets to be the root bridge, this setup works. If the hEX has higher (worse) priority than the opposing node, RSTP will block ports instead.

I’m looking forward to the next rc!

Hello,

The next 7.11rc version (not yet publicly available) will include additional fixes. Let us know if the problem still remains with this version.

Best regards,

And I’m happy to report that 7.11rc3 seems to have completely fixed this. At least for my use case.