Files
Paul Lorenz e0fcd86991 Re-test a dead link candidate before retiring it
The scan walks the link table and removes from it in a second pass, and on a
large table the gap between them is wide enough for a dialer to reconnect and
re-announce its links. Acting on the first pass's answer removes a link the
controller has just been told about, and a router announces its set only on
reconnect, so it does not say so again until it next connects. A soak run lost
53 links this way.

- re-tests each candidate immediately before removing it, and skips one whose dialer returned mid-scan
- takes a keep predicate, so a caller can spare links whose dialer does not re-announce them
- records whether a retired link's dialer is connected under a different object, which distinguishes a router that is genuinely away from a link still pointing at a connection that has been replaced; the second is a stale pointer rather than a dead dialer and wants a different fix
2026-10-17 16:52:41 -04:00
..
2026-02-25 09:34:59 -05:00
2026-01-28 12:34:10 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 12:34:10 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 15:01:35 -05:00
2026-01-28 12:34:10 -05:00
2022-06-30 17:45:08 -04:00
2022-06-30 17:45:08 -04:00
2026-08-20 15:27:56 -04:00