]> git.meshlink.io Git - meshlink/commit
Monitor a PFROUTE socket on *BSD and macOS.
authorGuus Sliepen <guus@meshlink.io>
Thu, 18 Jun 2020 20:41:12 +0000 (22:41 +0200)
committerGuus Sliepen <guus@meshlink.io>
Tue, 26 Jan 2021 20:40:42 +0000 (21:40 +0100)
commit91bbbe1c13428f6e70609d9406de06549716e45b
tree0812954df0514a0ce69b7dfcd3e75a2af081a5af
parent2b696ea05e1f519bb37bed5577da9fcd860ece1b
Monitor a PFROUTE socket on *BSD and macOS.

Catta is not handling network changes correctly on *BSD and macOS. In
particular, after the initial startup, interfaces that go up and down
do not cause a callback to be generated, so MeshLink is not notified of
the changes.

To ensure MeshLink responds rapidly to network changes on these
platforms, we open a PFROUTE socket and monitor it ourself. We only
check the message type, and don't track exactly what addresses get added
or removed.
src/discovery.c
src/meshlink_internal.h