Skip to content

Fix AP uplink detection with unmanaged WAN interfaces - #32

Merged
anothaDev merged 2 commits into
anothaDev:mainfrom
ronger-x:codex/fix-ap-uplink-detection
Oct 17, 2026
Merged

anothaDev merged 2 commits into
anothaDev:mainfrom
ronger-x:codex/fix-ap-uplink-detection

Conversation

@ronger-x

Copy link
Copy Markdown
Contributor

An access point can retain up wan and wan6 interfaces with proto: none after their Ethernet port is bridged into LAN. Vantage currently selects those interfaces by name before considering default routes, so the network path reports “No default route” and loses the gateway, DNS and management address even though LAN has a valid default route.

Prefer interfaces carrying an IPv4 or IPv6 default route, retaining the existing WAN-name priority within that set. If no up interface has a default route, keep the previous WAN-name/first-up fallback. Derive isWan from the selected interface so an AP's routed LAN is labelled Gateway. This changes dashboard interpretation only; it does not change network configuration or RPC permissions.

Regression coverage includes unmanaged WAN/WAN6 interfaces in both dump orders, IPv6 WAN selection, normal WAN preference with DSA offload, and fallback when no default route is available. Fixtures use documentation addresses only.

Validation:

  • Linux/WSL, Node 22.16.0: node --test tests/ — 292 passed, 0 failed, 15 skipped (optional tooling/fixtures unavailable).
  • DOM sink, template, ACL policy and private-address checks passed. Template checks skipped 3 cases without LuCI rootfs; private-address checks ran without a mirror.
  • git diff --check passed.
  • Deployed the model change to a Netcore N60 Pro running OpenWrt 25.12.5 and Vantage 1.0.8. A fresh browser session correctly displayed the LAN gateway and DNS instead of “No default route”.
  • Translation check remains incomplete: the WSL gettext runtime lacks libgomp.so.1. No translatable strings changed. No replay mirror/rootfs was available for offline UI verification.

@ronger-x
ronger-x marked this pull request as ready for review October 17, 2026 12:04
luci-app-vantage: the uplink change in the previous commit moved the
_() calls in model.js by four lines; regenerate the template and the
zh_Hans catalogue so dev/i18n/update.sh --check passes. No strings
changed.
@anothaDev
anothaDev merged commit 3eb623b into anothaDev:main Oct 17, 2026
5 checks passed
@ronger-x
ronger-x deleted the codex/fix-ap-uplink-detection branch October 17, 2026 14:39
anothaDev added a commit that referenced this pull request Oct 18, 2026
CHANGELOG.md lists the user-visible changes of every release since 1.0.1,
newest first, built from the release pull requests, plus an Unreleased
section for the uplink fix (#32) and the recorder removal.

README: the tagline and badge now say 25.12 and 24.10, which 1.0.8 added
but the homepage never mentioned; Contributing links the changelog.
CONTRIBUTING: the release flow starts with the changelog entry.
CI: the generated release notes link to the changelog at the tag.
Repository index page: link to the changelog and the releases.
@anothaDev anothaDev mentioned this pull request Oct 20, 2026
anothaDev added a commit that referenced this pull request Oct 20, 2026
A tunnel's default route has no next hop. Since #32 picks such a tunnel as the uplink when wan has no default route, the dashboard read "No default route"; it shows the tunnel device instead.
@anothaDev

Copy link
Copy Markdown
Owner

Released in 1.0.9, thanks! It also names the tunnel when a VPN is the uplink and has no gateway address.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants