Repository navigation
Defer exit latency probes until after connect so listing stays non-bl… - #1398
Conversation
…ocking. Require a connected mesh for exit list/select, skip overlay RTT during the post-connect grace and refresh rankings afterward, and keep IGW default routes repaired when they lose to the ISP.
|
Review complete. 🟠 2 high · 🟡 1 medium 💬 Inline comments (3)
🧹 Nitpicks (2) — 🟢 2 low
The PR gates all exit-node list/select/get operations behind a connected network, converting a previously silent no-op into
Tests were added for the failover and probe-grace flows, but two high-severity recovery-path issues (rejected nexthops blocking reinstall, probe-only health black-holing a working exit) and a data race in Reviewed commit: b899ad4 |
There was a problem hiding this comment.
This PR reworks exit-node selection and IGW health handling: device exit APIs now require the network to be connected (returning 409 otherwise), enforced auto-exit selection is deferred until after connect, and internet-gateway monitors track rejected nexthops with a probe-only health path.
Key findings
- 🟠 Rejected nexthop blocks all reinstall paths — mqhandlers.go:300
- 🟠 Probe-only health can black-hole a working exit — igw.go:315
- 🟡
RejectedIGWraces on unsynchronizedisHealthy— igw.go:227
…t flap exits. Make isHealthy atomic for RejectedIGW, allow forced ReplacePeers/iface-repair reinstalls past a rejected nexthop, and skip overlay-probe failures when underlay handshake+rx still show the gateway alive.
On FORCE_LOGOUT, clear JWT and emit a logout event so Desktop Idle can sign the user out without waiting for the next API call.
…ocking.
Require a connected mesh for exit list/select, skip overlay RTT during the post-connect grace and refresh rankings afterward, and keep IGW default routes repaired when they lose to the ISP.
Describe your changes
Provide Issue ticket number if applicable/not in title
Provide link to Netmaker PR if required
Provide testing steps
Checklist before requesting a review