README
======
License: GPLv2
You should be able to find GNU Public License from www.gnu.org.
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.
TODO
====
- Add "odd" icmp packet handling (may not be necessary)
- You can't set source ip for ping packets. It's always
autodiscovered.
- Could the arping connection targets use only one socket ...
- IPv6 support.
- Should be able to check ENODEV somehow before first sendto.
Now exits with error code 2 after daemon which init-script
can't handle.
* This is now changed so that ENODEV causes LOG_ERR with each ping
but no exit and behave just as the packet was sent. So for ENODEV
you should get a down -event just as if there was packet loss.
- The source is kind of ugly ...
DECISION MAKING
===============
As of lsm v0.27, the detection algorithm works like this:
LSM keeps track of
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
If connection (or group) is UP
AND ( (A >= max_packet_loss) OR (B >= max_successive_pkts_lost)
then change the connection (or group) to down.
Else If connection (or group) is 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 UP.
DEPENDENCIES
============
default_script uses /bin/mail that's the only reason to depend on
mailx-package.
AUTHORS
=======
Mika Ilmaranta <ilmis@nullnet.fi>
See lsm.spec's changelog section for patch submitters.
#EOF