Package: liboping0 Version: 1.6.2-1 Severity: important Hi,
I'm using liboping (through the Perl module) to ping ~250 devices and put the results on a map. However, frequently, clients that cannot possibly be up (they haven't been deployed yet) blip up for one ping as if they were up, with a completely reasonable latency value. Some code reading uncovered why: liboping uses random ICMP ident values (which are 16 bit) for each ping, and when the ping reply comes back, it uses _only_ this ident value to correlate it back to the machine. Due to the birthday problem, 250 devices mean that there's ~50% probability of two devices getting the same ident value, and so the ping reply from one of the hosts actually being up gets misattributed to one of the hosts that are down. This affects both IPv4 and IPv6. I've hacked around it by dropping the randomization (just counting ident sequentially up), but a better fix would probably be simply checking the source address of the reply packet (in addition to the ident); by definition, it should be the same as the one we sent to. -- System Information: Debian Release: 7.4 APT prefers stable APT policy: (750, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.13.3 (SMP w/16 CPU cores) Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages liboping0 depends on: ii libc6 2.13-38+deb7u1 liboping0 recommends no packages. liboping0 suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org