]> 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>
Thu, 15 Apr 2021 18:30:51 +0000 (20:30 +0200)
commit69e74943afe4f77a4be52542d4b9b2a47da911f5
tree60c8206d28fa3675be26d2e4e2181e1be8401962
parent0f5ab29d787c7fb444908797d5ea746cb4311be4
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