LSM is a Link Status Monitor which can be used to monitor for example a Linux router/firewall connectivity and if you happen to have multiple connections it can change routing when an up/down event happens by utilizing external script.
When a SIGUSR1 is received current connection states are syslogged.
This package is highly influenced by fping and iputils arping. Many thanks for their efforts.
GPLv2, you should be able to find GNU Public License 2.0 from www.gnu.org.
As of lsm v0.27, the detection algorithm works like this:
1) the result of the most recent pings (up to 100)
2) the number of consecutive lost pings.
3) the number of consecutive received pings.
Let A == the number of recently lost pings
Let B == the number of consecutive lost pings
Let C == the number of consecutive returned pings
AND ( (A >= max_packet_loss) OR (B >= max_successive_pkts_lost) then change the connection (or group) to down.
AND ( (A <= min_packet_loss) AND (C > min_successive_pkts_rcved) ) then change the connection (or group) to up.
Note: LSM assumes each connection starts in unknown state.
Mika Ilmaranta <ilmis at nullnet.fi>