This plugin utilizes the Netlink library to monitor network interface up/down status. Current configuration options include:
If no interfaces are configured, then all interfaces will be monitored. While running, two threads are used:
A linked list of interface name and status combinations is stored in shared memory. The Netlink-listening thread waits for incoming messages and either:
Whenever a monitored interface's status changes, the corresponding entry is flagged as unsent. The read thread wakes at the plugin interval and loops through the linked list of interface names and statuses. Any unsent status change is dispatched via a notification, and the interface status is then marked as sent.