MSTP does not handle VLAN changes
Posted: Sun Nov 29, 2020 9:30 pm
Had a network with multiple switches having multiple VLANs sometimes running in parallel. The only way to make this work is disable STP/RSTP, per port, otherwise they start getting flagged as alternates and traffic gets blocked. In this network, routers happily use layer3 OSPF for fallback Internet access, because I was NOT wanting to play layer2 loop STP Russian-roulette. ;)
So, have been testing MSTP. The specific Instance/VLAN lists are not that bad for us, because our Internet clients all use router mode CPEs with PPPoE to completely isolate them, so don't need 1 VLAN per client. Instead, the VLANs separate the AP & PtP radio infrastructure subnets to something easy to manage all the way back to the access routers.
When configured from scratch, MSTP is GREAT !!! Any accidental loops are VERY quickly sensed and managed (which is what I really want STP for) and nicely logged.
But POOP !!! I can't change a VLAN port membership and have MSTP be aware after a config apply.
At first this was very confusing because my Netonix MSTP learning curve was on 3 lab switches where the lost links seemed random. But eventually (and somewhat surprisingly) I was able to recreate a big part of this on one switch.
Setup:
1) Management host PC: 3 separate NICs with IPs: 192.168.1.133, 192.168.32.133, 192.168.34.133 each cabled to (eventual) matching VLAN port on WS.
2) WS-12-250-AC v1.5.6 reset to defaults (that means RSTP is enabled)
3) Set main IP: 192.168.32.222/24
4) Set management VID = 32 'EEEEEEUUUUTTTT'
5) Added VID = 34 'EEUUUUEEEETTTT' Set IP: 192.168.34.222/24
6) Added VID = 11 'UUEEEEEEEETTTT' Set IP: 192.168.1.222/24
All the applies went smoothly
7) Tested every VID32 & VID34 port, cabling to the appropriate host PC and all pings either replied when correctly matched or timed-out on a mismatch.
8) Configured to use MSTP:
MST Instance 1 VLAN List 32
MST Instance 2 VLAN List 34
MST Instance 3 VLAN List 11
All the applies went smoothly
9) Repeated #7, all good.
10) POR, repeated #7, all good.
11) Changed Prt6 from VLAN34 to VLAN32, config seemed happy:
UI: VLAN 32 PortSettings: changed from 'EEEEEEUUUUTTTT' to 'EEEEEUUUUUTTTT'
UI: VLAN 34 PortSettings: changed from 'EEUUUUEEEETTTT' to 'EEUUUEEEEETTTT'
12) BUT, Prt6 became un-pingable as either ..32.222 or ..34.222, probably because it thought it was still in Instance 2:
Port: link state changed to 'up' (100M-F) on port 6
STP: msti 0 set port 6 to discarding
STP: msti 2 set port 6 to discarding
STP: msti 0 set port 6 to learning
STP: msti 0 set port 6 to forwarding
STP: msti 2 set port 6 to learning (Should be msti 1 I think)
STP: msti 2 set port 6 to forwarding
-------OK in this test case, if I power cycle reboot the switch, it starts to work correctly. But that is just not acceptable in a production remote location. And if I revert the action to Prt6 and put it back in VLAN34, once again it is locked out from pinging.
This is a bug that needs to be fixed first, BUT ... the original bug on the multi switch network still failed *sometimes* even after POR ???
...but that needs to wait for a retest when I get a version with this fix in it.
I am going to do a second post and try to include at least one WS config and one log. (If you need other trial points, please ask, I may have already saved them.) I have a suspicion the configs are going to look fine, and instead this is going to be a mismatch on what gets applied to vtss/MSTP during that GUI config update.
Also, IF you should find there is a bypass to accomplish the VLAN port re-assignment without requiring a POR, that would really help!
(Edit: corrected acronym spelling)
So, have been testing MSTP. The specific Instance/VLAN lists are not that bad for us, because our Internet clients all use router mode CPEs with PPPoE to completely isolate them, so don't need 1 VLAN per client. Instead, the VLANs separate the AP & PtP radio infrastructure subnets to something easy to manage all the way back to the access routers.
When configured from scratch, MSTP is GREAT !!! Any accidental loops are VERY quickly sensed and managed (which is what I really want STP for) and nicely logged.
But POOP !!! I can't change a VLAN port membership and have MSTP be aware after a config apply.
At first this was very confusing because my Netonix MSTP learning curve was on 3 lab switches where the lost links seemed random. But eventually (and somewhat surprisingly) I was able to recreate a big part of this on one switch.
Setup:
1) Management host PC: 3 separate NICs with IPs: 192.168.1.133, 192.168.32.133, 192.168.34.133 each cabled to (eventual) matching VLAN port on WS.
2) WS-12-250-AC v1.5.6 reset to defaults (that means RSTP is enabled)
3) Set main IP: 192.168.32.222/24
4) Set management VID = 32 'EEEEEEUUUUTTTT'
5) Added VID = 34 'EEUUUUEEEETTTT' Set IP: 192.168.34.222/24
6) Added VID = 11 'UUEEEEEEEETTTT' Set IP: 192.168.1.222/24
All the applies went smoothly
7) Tested every VID32 & VID34 port, cabling to the appropriate host PC and all pings either replied when correctly matched or timed-out on a mismatch.
8) Configured to use MSTP:
MST Instance 1 VLAN List 32
MST Instance 2 VLAN List 34
MST Instance 3 VLAN List 11
All the applies went smoothly
9) Repeated #7, all good.
10) POR, repeated #7, all good.
11) Changed Prt6 from VLAN34 to VLAN32, config seemed happy:
UI: VLAN 32 PortSettings: changed from 'EEEEEEUUUUTTTT' to 'EEEEEUUUUUTTTT'
UI: VLAN 34 PortSettings: changed from 'EEUUUUEEEETTTT' to 'EEUUUEEEEETTTT'
12) BUT, Prt6 became un-pingable as either ..32.222 or ..34.222, probably because it thought it was still in Instance 2:
Port: link state changed to 'up' (100M-F) on port 6
STP: msti 0 set port 6 to discarding
STP: msti 2 set port 6 to discarding
STP: msti 0 set port 6 to learning
STP: msti 0 set port 6 to forwarding
STP: msti 2 set port 6 to learning (Should be msti 1 I think)
STP: msti 2 set port 6 to forwarding
-------OK in this test case, if I power cycle reboot the switch, it starts to work correctly. But that is just not acceptable in a production remote location. And if I revert the action to Prt6 and put it back in VLAN34, once again it is locked out from pinging.
This is a bug that needs to be fixed first, BUT ... the original bug on the multi switch network still failed *sometimes* even after POR ???
...but that needs to wait for a retest when I get a version with this fix in it.
I am going to do a second post and try to include at least one WS config and one log. (If you need other trial points, please ask, I may have already saved them.) I have a suspicion the configs are going to look fine, and instead this is going to be a mismatch on what gets applied to vtss/MSTP during that GUI config update.
Also, IF you should find there is a bypass to accomplish the VLAN port re-assignment without requiring a POR, that would really help!
(Edit: corrected acronym spelling)