jangala-dev / jangala-dev/devicecode-lua

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

Aberta
#333 0 comentários 0 reações 2 responsáveis Reivindicada por @rslater-cs Ver no GitHub
Linguagem predominante
Lua
Estrelas
1
Forks
0
Merge médio
6d 8h
PRs com merge (30d)
6

Descrição

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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.