1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
README
======
License: GPLv2
You should be able to find GNU Public License from www.gnu.org.
Foolsm 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 foolsm v0.27, the detection algorithm works like this:
Foolsm 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: Foolsm assumes each connection starts in an UNKNOWN state by default.
DEPENDENCIES
============
default_script uses /bin/mail that's the only reason to depend on
mailx-package.
INSTALLING
==========
There is now Makefile target install for those of you not using rpms. I use only
rpm based distros so that may not be in sync with foolsm.spec which does all what
I need.
AUTHORS
=======
Mika Ilmaranta <ilmis@nullnet.fi>
See foolsm.spec's changelog section for patch submitters.
|