- Pull current config from router (OpenWRT 24.10.2) - Add backup, safe-apply, and push-all scripts - Add CLAUDE.md with workflow rules and context - Add network-map.md with current topology and planned VLANs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.9 KiB
Pre-Implementation Findings
Notes from live router investigation before VLAN implementation begins.
DSA and Bridge Architecture
Concern raised: OpenWRT 24.10+ uses DSA (Distributed Switch Architecture) on the MT7621. The implementation plan needed to be validated against the actual router interface naming and bridge support before work begins.
Finding: bridge-per-VLAN approach is confirmed valid.
ip link show output from the live router:
1: lo
2: eth0 — uplink to MT7621 switch ASIC
3: wan — WAN port (PPPoE)
4: lan1@eth0 — UP — LAN port 1 (wired, device connected)
5: lan2@eth0 — NO-CARRIER — LAN port 2 (nothing plugged in)
6: lan3@eth0 — UP — LAN port 3 (Sonos Connect)
7: lan4@eth0 — NO-CARRIER — LAN port 4 (nothing plugged in)
8: br-guest — guest bridge (already live)
9: br-lan — main flat LAN bridge
10: pppoe-wan
11: phy0-ap0 → br-lan — Moonshield (2.4GHz)
12: phy1-ap0 → br-lan — Moonshield (5GHz)
13: phy0-ap1 → br-guest — guest SSID (2.4GHz) — already attached
14: phy1-ap1 → br-guest — guest SSID (5GHz) — already attached
Key conclusions:
- DSA port names are
lan1–lan4— use these inlist portswhen defining bridge devices inconfig/network. br-guestis already running in production with two wireless VAPs attached — the bridge-per-VLAN pattern is proven on this hardware.- Both radios support
APandAP/VLANmodes with up to ~4 VAPs per radio, so adding Cloud Connected and Pinball Map SSIDs will not hit hardware limits. - The
config/networkentry forbr-guestcurrently has nolist portsentry (bridge_empty '1'), confirming that wireless-only bridges work fine without a wired port.
Pending Validation Test
Test: assign a physical port to br-guest, connect a device, verify it gets a 10.10.10.x IP.
This validates the full stack — port assignment, bridge isolation and DHCP — using a live but low-risk interface before touching the main VLAN work.
Steps (when physically at the router):
- Edit
config/network— addlist ports 'lan4'to thebr-guestdevice block ./scripts/safe-apply.sh network 5- Plug a device into LAN 4
- Confirm it gets an IP in
10.10.10.100–10.10.10.249(pool: start 100, limit 150) - Verify on router:
ssh openwrt "cat /tmp/dhcp.leases" - Clean up: remove
list ports 'lan4'and re-push before starting real implementation
Status: complete — passed 2026-04-02.
Result: device on LAN 4 was issued 10.10.10.101 (within pool 10.10.10.100–10.10.10.249). Port assignment, bridge isolation and DHCP all confirmed working end-to-end.
Next step: remove list ports 'lan4' from the br-guest device block and re-push before starting VLAN implementation.