jangala-dev / jangala-dev/devicecode-lua
wired: comma-separated VLAN lists cause false missing-VLAN alerts
@rslater-cs arbeitet bereits daran.
Seit 09.9.2026.
- Vorherrschende Sprache
- Lua
- Sterne
- 1
- Forks
- 0
- Ø Merge
- 6 T. 8 Std.
- Gemergte PRs (30 T.)
- 6
Beschreibung
On CM5 bigbox firmware bigbox-v1-cm-v0.11.2-2026-09-09T110059-v24.10.7, the wired service incorrectly reports missing VLANs and enters degraded state.
The switch’s GE8 uplink reports:
1UP, 4T, 8T, 32T, 100T
However, parse_vlan_membership_string() in src/services/hal/backends/wired/providers/rtl8380m_http.lua:476 returns only VLAN 100.
The parser splits on whitespace, leaving trailing commas on earlier tokens. Its anchored pattern then rejects those tokens.
Impact
False missing-VLAN alerts for admin VLAN 8, user VLAN 32, and WAN VLAN 4 on switch-uplink-cm5. Raw switch data contains all required VLANs; this finding does not establish a forwarding failure.
Reproduction
Observed during a read-only inspection on 2026-09-09. Reproduced using source verified identical to the installed provider by SHA-256:
78f919c72e4151b902e00b0ba07038d8792729efc31288803170029b970f35ba
| Input | Actual VLANs | Expected VLANs |
|---|---|---|
1UP, 4T, 8T, 32T, 100T |
[100] |
[1,4,8,32,100] |
8T, 32T, 100UP |
[100] |
[8,32,100] |
1UP 4T 8T 32T 100T |
[1,4,8,32,100] |
[1,4,8,32,100] |
The first string comes from the GE8 uplink; the second also occurs on external switch ports. The whitespace-only case already parses correctly.
Acceptance criteria
- Parse comma-separated and existing whitespace-separated memberships.
- Preserve tagged, untagged, forbidden, and PVID flags.
- Add regression coverage for both observed comma-separated strings and the whitespace-only case.
- Verify the three false trunk-carriage alerts disappear.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.