You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The change is small and targets the right area: bridge creation/STP enablement in plugins/interface/bridge_intf_plugin.js.
For pure VLAN bridges like eth0.10 + eth1.10, the PR prevents enabling MSTP/STP on that bridge, which addresses the “do not send STP packet with VLAN tag” part of the linked issue.
Existing native untagged bridges with multiple physical interfaces still keep the previous STP behavior.
⚠️ Issues found
Medium: linked issue is only partially covered.
The linked issue firewalla/firecommit#8198 requires:
STP packets should not be sent with VLAN tags: Met for pure VLAN bridges
STP should only be sent on native untagged LAN: Mostly met
All LAN port status should stay consistent with native LAN: Not addressed
The PR disables STP on VLAN bridges, but it does not mirror native bridge/STP port state into the corresponding VLAN bridge ports. If the native LAN blocks or transitions a port, VLAN bridge members may still remain forwarding unless another part of the system synchronizes those states.
Medium: VLAN detection is too broad. i.includes('.') treats any interface name containing a dot as VLAN. That likely matches current VLAN naming, but it is not a strict VLAN-subinterface check. A helper such as isVlanSubInterface() or checking known interface plugin metadata would make this less brittle.
Low: mixed native/VLAN bridge behavior is unclear.
If a bridge ever contains both untagged and VLAN subinterfaces, every(i => i.includes('.')) returns false and STP remains enabled for the whole bridge. That could still produce tagged STP on VLAN members.
💡 Suggestions
Add explicit handling for VLAN bridge port state consistency with the native LAN bridge, or point to the existing mechanism if it already exists elsewhere.
Replace the inline includes('.') heuristic with a named helper so the intended VLAN interface convention is documented and reusable.
Consider adding a regression test or config-level test for:
pure native bridge: STP enabled
pure VLAN bridge: STP not enabled
mixed interface list: expected behavior defined explicitly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://github.com/firewalla/firecommit/issues/8198