Smokeping and FPing6 probe.

Recently I noticed that my Smokeping installation had a few empty graphs. It turned out to be all the IPv6 targets, like ipv6.google.com and www.facebook.com. I ping those targets mostly to keep track of changes in my IPv6 latency, as I have to use an IPv6-over-IPv4 tunnel, due to lack of IPv6 support from my ISP (Shame, YouSee).

The fping command could easily ping the IPv6 targets and RRD files had up to date timestamps, so I gathered that some dependency was broken after a (FreeBSD) PKG update, which had already caused me some issues due to the installation of Python36 alongside Python27.

A reinstall didn’t solve the issue and I had to resolve to Google, but apparently, I am the only one in the world with this issue (or dumb enough not to resolve it right away). Then I noticed the “smokeping –debug” command option and immediately spotted an error:

fping6: can't specify both -4 and -6

The /usr/local/sbin/fping6 turned out to be a symlink to /usr/local/sbin/fping. So while /sbin/ping and /sbin/ping6 are two different binaries, fping is apparently (now?) able to serve both IPv4 and IPv6 (as it really should be).

It’s been a long time since I configures smokeping, but after a while I found that the probe binaries are defined in the smokeping config file:

*** Probes ***
+FPing
binary = /usr/local/sbin/fping
+FPing6
binary = /usr/local/sbin/fping6

Changing the FPing6 binary to /usr/local/sbin/fping solved my issue, so somehow fping seems to be able to distinguish between being called directly or using the symlink to /usr/local/sbin/fping6 – which I really don’t understand how it does.

root# fping ipv6.google.com
ipv6.google.com is alive
root# fping -6 ipv6.google.com
ipv6.google.com is alive
root# fping6 -6 ipv6.google.com
fping6: can't specify both -4 and -6
root# which fping6
/usr/local/sbin/fping6
root# ll /usr/local/sbin/fping6
lr-sr-xr-x 1 root wheel 5 Jul 25 20:33 /usr/local/sbin/fping6@ -> fping

I assume that fping has been updated recently and has changed behaviour, but honestly I I haven’t bothered to verify this.