jangala-dev / jangala-dev/devicecode-lua

wired: comma-separated VLAN lists cause false missing-VLAN alerts

Offen
#333 0 Kommentare 0 Reaktionen 2 zugewiesene Personen Auf GitHub ansehen

@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

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.