van-failover is now the sole owner of default-route selection: netplan/NM profiles get ipv4.never-default so NM's own DHCP/lease renewals stop reinstalling competing default routes (was racing van-failover's enforce_route on Starlink's 16s lease). set_profile_metric() also pins never-default on NM-managed connections it doesn't own the netplan source for (e.g. cellular), and nm_gateway() falls back to the raw DHCP4 lease's `routers` option since NM stops populating IP4.GATEWAY once never-default is set. Probing moved from one shared round to independent per-WAN retry scheduling, so a flaky WAN retries on its own clock instead of dragging healthy WANs into extra probes or throttling a failing one to the slow steady-state cadence. config.json: probe_interval 4->60, fail/ok_threshold 3/2->2/1, single probe URL — verified live across this reboot (cellular took ~2min after NM reported "activated" to actually pass traffic; van-failover correctly withheld/ deprioritized the default route until then, then installed it automatically). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
15 lines
393 B
JSON
15 lines
393 B
JSON
{
|
|
"probe_interval": 60,
|
|
"probe_timeout": 3,
|
|
"fail_threshold": 2,
|
|
"ok_threshold": 1,
|
|
"probe_urls": [
|
|
"http://connectivity-check.ubuntu.com/"
|
|
],
|
|
"wans": [
|
|
{ "name": "wifi", "device": "wlan0", "metric": 100 },
|
|
{ "name": "starlink", "device": "@STARLINK_IFACE@", "metric": 200 },
|
|
{ "name": "cellular", "connection": "Koodo", "metric": 300 }
|
|
]
|
|
}
|