I am testing the Netwatch TTL / Accept ICMP Time Exceeded option and don’t quite understand why, when pinging 8.8.4.4 (as an example), a TTL of 3 passes but a TTL of 4 fails the test.
The traceroute shows 7 hops, a Netwatch TTL of 3 results in an UP state:
I still don’t understand why a netwatch TTL of 4 fails. Remember, “Accept ICMP Time Exceeded” is enabled in the netwatch test. TTL of 4 should pass the test.
Try another canary address, possibly with more hops, what you posted makes little sense:
TTL=1 STATUS=TTL exceeded (OK)
TTL=2 STATUS=timeout
TTL=3 STATUS=TTL exceeded (OK)
TTL=4 STATUS=TTL exceeded (OK)
TTL=5 STATUS=TTL exceeded (OK)
Is the above exactly repeatable in several re-iterations?
Just a guess, but like you have timeout in #2 above, if it happens (on #2 or on #4) that timeout failure (and not the TTL exceeded) might trigger (or fail to trigger) the netwatch.
Yep, what makes little sense is the results, in theory TTL=1 to the actual distance should all result in the same TTL exceeded, if this does not happen (even if justified/understandable by the Opus router) it probably affects some other parameter of the ICMP probe.
The 85% (or whatever) percentage?
Or latency?
Or whatever other among the n parameters/thresholds?
With a more distant target the failed (timeout) on hop #2 probably would have less relevance.
I bumped all the thresholds well over what would have caused any failures. There is something in that TTL hop count that is causing issues. If I choose a different endpoint, say, 8.8.8.8 or 1.1.1.1 the check fails on different TTL values. It makes no sense.
From your device:
8.8.4.4 is hop #7 and ttl 1 to 6 work BUT NOT 4
1.1.1.1 is hop #10 and ttl 1 to ? work BUT NOT ?
8.8.8.8 is hop #? and ttl 1 to ? work BUT NOT ?
…
Maybe one could have a script to traceroute to the destination and then set the ttl to ((number of hops)-1).
But in v6 traceroute lines are prepended by an ordinal number, I see in your screenshot that this doesn’t happen in v7?