]> git.meshlink.io Git - meshlink/commit
Monitor a PFROUTE socket on *BSD and macOS. fix/network-change-detection
authorGuus Sliepen <guus@meshlink.io>
Thu, 18 Jun 2020 20:41:12 +0000 (22:41 +0200)
committerGuus Sliepen <guus@meshlink.io>
Thu, 18 Jun 2020 20:41:12 +0000 (22:41 +0200)
commit6837594e6cf27ec8128b4dd125e6f68a0888602c
tree57dd2b79bc98e9cb113de194f92b184642a17f2e
parenta5df8a6eac570fc0f3b10cfcdeb9ccccc8dd1ac1
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