High performance ping tool
In non-quiet loop and count mode, a line is printed for every lost packet (#175, thanks @kbucheli):
$ fping -D -c2 8.8.8.8 8.8.8.7
[1596092373.18423] 8.8.8.8 : [0], 64 bytes, 12.8 ms (12.8 avg, 0% loss)
[1596092374.18223] 8.8.8.7 : [0], timed out (NaN avg, 100% loss)
[1596092374.18424] 8.8.8.8 : [1], 64 bytes, 12.3 ms (12.5 avg, 0% loss)
[1596092375.18344] 8.8.8.7 : [1], timed out (NaN avg, 100% loss)
8.8.8.8 : xmt/rcv/%loss = 2/2/0%, min/avg/max = 12.3/12.5/12.8
8.8.8.7 : xmt/rcv/%loss = 2/0/100%
The returned size in bytes now always excludes the IP header, so if before it reported '84 bytes' e.g. when using 'fping -l', now it reports '64 bytes'. This is to make the reported size consistent with ping(8) from iputils and also with fping when pinging a IPv6 host (which never included the IPv6 header size).
fping and fping6 are now unified into one binary. It means that, for example, doing 'fping google.com' is going to ping the IPv6 IP of google.com on IPv6-enabled hosts.
If you need exact compatibility with old versions, you can configure and install fping twice: once for ipv4, and once for ipv6:
./configure --disable-ipv6; make clean install
./configure --disable-ipv4 --program-suffix=6; make clean install
Option -n / --name is now doing a reverse-DNS lookups on host addresses, only if they are given as IP address, but not for hostnames. For example, if you write 'fping -n google.com', fping would previously do a forward-DNS lookup on google.com, and then a reverse-DNS lookup on the resolved IP address. Now, it is just going to keep the name 'google.com'. That same behavior can be achieved with the option -d / --rdns (which was previously an alias for -n).
fping<4.0 fping>=4.0
fping -n NAME NAME->IP->IPNAME NAME
fping -d NAME NAME->IP->IPNAME NAME->IP->IPNAME
fping will now discard replies, if they arrive after the defined timeout for reply packets, specified with -t. This change is relevant only for the count and loop modes, where the measured times should be now more consistent (see github issue #32 for details).
To prevent loosing reply packets because of this change, the default timeout in count and loop modes is now automatically adjusted to the period interval (up to 2000 ms), but it can be overriden with the -t option. The default timeout for non-loop/count modes remains 500 ms.
fping will not enforce -i >= 1 and -p >= 10 anymore, except if you './configure --enable-safe-limits'.
The reasoning to removing the restrictions by default, is that users can clog the network with other tools anyway, and these restrictions are sometimes getting in the way (for example if you try to ping a lot of hosts).
The default minimum interval between ping probes has been changed from 25ms to 10ms. The reason is that 25ms is very high, considering today's fast networks: it generates at most 31 kbps of traffic (for IPv4 and default payload size).
(see doc/CHANGELOG.pre-v4 for older changes)