jangala-dev / jangala-dev/devicecode-lua
wired: comma-separated VLAN lists cause false missing-VLAN alerts
@rslater-cs がすでに取り組んでいます。
2026年9月9日 から。
- 主要言語
- Lua
- スター
- 1
- フォーク
- 0
- 平均マージ
- 6日 8時間
- マージ済み PR(30日)
- 6
説明
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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
評価
この issue はまだ評価されていません。