jangala-dev / jangala-dev/devicecode-lua

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

Open
#333 0 comments 0 reactions 2 assignees View on GitHub

@rslater-cs is already working on this.

Since Sep 9, 2026.

Dominant language
Lua
Stars
1
Forks
0
Avg merge
6d 8h
Merged PRs (30d)
6

Description

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:

```text
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:

```text
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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.