--- /dev/null
+#!/usr/bin/awk -f
+BEGIN {
+ PINGSLOTS=5
+ split(PING_PEERS, pps, " ")
+ for (pp in pps) {
+ pn = pps[pp]
+ print "ping peer: " pn
+ slotindex[pn]=0
+ }
+}
+
+# 1.1.1.1 : [0], 1288 bytes, 10.3 ms (10.3 avg, 0% loss)
+# 192.168.1.50 : [0], timed out (NaN avg, 100% loss)
+/[0-9] bytes, [0-9]*.[0-9]* ms / {
+ pn=$1
+ seq=$3
+ bytes=$4
+ lat=$6
+ #printf("%s %db in %.2fms\n", pn, bytes, lat)
+ slotindex[pn]++
+ pingslot=pn ":" slotindex[pn]
+ pingstats[pingslot]=lat
+
+ if(slotindex[pn] % PINGSLOTS == 0) {
+ # print "slotindex reset for " pn
+ slotindex[pn]=0
+ }
+ for (ps in pingstats) {
+ print ps " " pingstats[ps]
+ }
+}
+
+function update_pingstats(peername, latency) {
+print peername " at " latency
+}
+
+
+END {
+}
--- /dev/null
+#!/bin/sh
+PING_PEERS='1.1.1.1 8.8.8.8'
+
+def_gw_v4=$(traceroute -n -m 1 1.1.1.1 | awk '{if("1" == $1){print $2}}')
+
+fping --loop --retry=1 --size=1280 --period=500 --random "${def_gw_v4}" ${PING_PEERS} | awk -v PING_PEERS="${def_gw_v4} ${PING_PEERS}" -f __lagdetect.awk