Reading ping(8), section "TTL DETAILS", I have seen a number of inconsistencies regarding this value in FreeBSD. This section of the man page has not been updated to reflect the current state. For instance: > Not change it; this is what BSD systems did before the 4.3BSD-Tahoe release. > In this case the TTL value in the received packet will be 255 minus the > number of routers in the round-trip path. This paragraph implies that FreeBSD is still using 255 as its default TTL, it should be updated to reflect the current value (64) [1], perhaps: Not change it; this is what BSD systems did before the 4.3BSD-Tahoe release. In this case the TTL value in the received packet will be 64 minus the number of routers in the round-trip path. Other paragraphs could also be updated, for example: > The TCP/IP specification recommends setting the TTL field for IP packets to > 64, but many systems use smaller values (4.3BSD uses 30, 4.2BSD used 15). The TCP/IP specification recommends setting the TTL field for IP packets to 64, FreeBSD uses this value... The DESCRIPTION mentions that the sysctl net.inet.ip.ttl is used, but it does not say that this value is 64 by default. Maybe also include some current OSs? I have compiled a quick list that can be easily verified pinging the hosts inside the brackets, this should give you the TTL (plus the number of hops): Windows: 128 [live.com] BSDs (NetBSD and OpenBSD): 255 [netbsd.org, openbsd.org] Linux: 64 [linux.org] FreeBSD, macOS: 64 > Set it to 255; this is what current BSD systems do. In this case the TTL > value in the received packet will be 255 minus the number of routers in the > path from the remote system to the pinging host. Set it to 255; this is what some BSD systems do... Some current BSD systems do use 255 (at least NetBSD and OpenBSD); however, FreeBSD uses the IANA-recommended value of 64 [2]. References: [1] https://github.com/freebsd/freebsd/blob/3f4da6d3e7a2a8cc34a94938bd1c4f80c8d1d449/sys/netinet/ip.h#L212 [2] https://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml#ip-parameters-2
Thanks to THUS (https://www.tuhs.org), I was able to track when the change was made (4.4 BSD): 4.3 BSD TTL: 255 [3] 4.3 BSD-Tahoe TTL: 255 [4] 4.4 BSD TTL: 64 [5] References: [3] https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/sys/netinet/ip.h [4] https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/sys/netinet/ip.h [5] https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/src/sys/netinet/ip.h
(In reply to Jose Luis Duran from comment #1) Scratch that. Reading imp@'s sources for 2.11BSD: https://github.com/bsdimp/2.11bsd/blob/master/sys/netinet/ip.h#L150
In FreeBSD, the change from MAXTTL to ip.ttl was done in: https://github.com/freebsd/freebsd/commit/5639e86bdd7ea151958776264bf5a67e60a54d68
Closed by 8eb4df948711166a438f4111f7069a412d1456bd. Thank you!