[PATCH 09/11] batctl: ping: fix rtt minimum tracking when a sample is 0.0
Sven Eckelmann <[email protected]> Tue, 07 Jul 2026 20:46:51 +0200
| Newsgroups | org.open-mesh.lists.batman |
|---|---|
| Message-ID | <[email protected]> |
The rtt minimum is tracked with "if (time_delta < min || min == 0.0)",
using min's initial value of 0.0 as a "not set yet" sentinel. But 0.0 is
also a valid measurement which must be accepted as minimum.
packets_in is still 0 while the first reply is processed (it is incremented
afterwards), so use it to detect the first sample instead of overloading
min == 0.0.
Fixes: 2474249a6312 ("[batctl] ping utility updated to latest batman adv")
Signed-off-by: Sven Eckelmann <[email protected]>
---
ping.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/ping.c b/ping.c
index 7ba872a..b5c641b 100644
--- a/ping.c
+++ b/ping.c
@@ -300,10 +300,14 @@ static int ping(struct state *state, int argc, char **argv)
printf("\n");
- if (time_delta < min || min == 0.0)
+ if (packets_in == 0)
min = time_delta;
+
+ min = fmin(time_delta, min);
+
if (time_delta > max)
max = time_delta;
+
avg += time_delta;
mdev += time_delta * time_delta;
packets_in++;
--
2.47.3