icpld 1.1.3 review

by rbytes.net on

ICPLD is a connection monitor which allows you to keep track of your network connection perfomance

License: BSD License
File size: 334K
Developer: Erik Ljungstr?m
0 stars award from rbytes.net

ICPLD is a connection monitor which allows you to keep track of your network connection perfomance. It will log each occasion of broken networking.

icpld runs as a background process, and sends ICMP requests to an ip of your choice. When a reply isn't received within proper amount of time, it will consider the connection as unavailable and put a stamp in its log.

ICPLD is developed on several different host systems, but mainly on a somewhat standard installation of Slackware 9.1 and FreeBSD 4.7-STABLE. No third party libraries which is not as good as standard is required. The only thing ICPLD relies on, is the 'ping' binary. ICPLD is written with cheapness in mind, both concerning CPU power as well as internal memory usage, hence it can be ran even on your 486dx PC gateway at home.

It's recommended to run ICPLD toward a host that's aware of you doing so, as constant ICMP requests might be less appreciated by some administrators. This is when the -dinterval switch comes in handy, as you can use another interval for checking, once the connection is down.

And when a working connection is detected, ICPLD will fall back to either the default interval, or the one specified with -interval. -dinterval should, however, NOT be lower than 3 seconds, as the timeout for two ICMP packets is ~3 seconds. Setting dinterval lower, will spawn a pinging process, faster than the old one has been terminated.

The normal way to use ICPLD without a configuration file is as follows:
icpld -ip ip.of.the.target -fbip the.fallback.target.ip

This will fork ICPLD to the background, and send an ICMP request every 10 seconds to ip.of.the.target. If a reply isn't received within an appropriate amount of time, the connection is considered broken and a stamp is put in the log.

As of version 0.6.0 ICPLD also supports IPv6. In order to perform the same operations, but with IPv6 networking instead, simply replace -ip with -ip6 and -fbip with -fbip6. Note that all operations available may be applied to IPv6 as well, by simply adding a 6 to the end of the option.

The log may be read by executing
icpld -log
The log file is by default stored in ~/.icpld/log

Another example would be:
icpld -ip -fbip -interval 15 -dinterval 5 -nd

Which will check if is available every 15 seconds. If it's considered down (it doesn't reply), it will try every 5 seconds. The -nd argument prevents ICPLD from forking to the background, which also makes ICPLD a bit more verbose.

Note that the log will not be 100% accurate, due to timeout time and interval (the lower the interval, the higher accuracy you will obtain, as well as higher traffic). It is roughly a few seconds differing at each occasion.

There's several other options available, see 'icpld --help' or 'man icpld' for further information on these. In the long run, it may become weary with command line arguments. Hence icpld has a configuration file.

What's New in This Release:
This release adds the -err and -err6 options, which allow you to save a log of the ping sequence that failed and caused icpld to stamp the connection as dead.
The rare and slightly embarrassing "Can't write to IPv6 logfile" bug is fixed.
Binary packages are no longer being released.

icpld 1.1.3 keywords