I am not understanding why '-s argument is the number of data bytes beyond the standard 8-byte icmp header' is complicated. People who use -s are trying to control packet size, and the rule of 8 header + data seems to be longstanding. Looking at -current: the size of the timespec should be given, and it's endianness. the man page for -C should say that these compat timestamps are instead of the timespec. so ping -s 8: should send 16-byte packets in compat format ping -s 16: should send 24-byte packets in new format It's at best odd to have the packet length change for a given -s argument because of timestamp format. This points out that the original decision should have been '-s X means X bytes of IP payload', but that's not what was decided, and it's easy enough to stick with 'X bytes beyond the 8-byte ICMP header'. [10:58am] 2277>ping quasar PING quasar.astron.com (192.168.2.4): 48 data bytes 64 bytes from 192.168.2.4: icmp_seq=0 ttl=255 time=0.027 ms That's a bug. All bytes after the 8-byte header are data bytes, even if some of them have timestamps.
Attachment:
pgpKstJ30X4L_.pgp
Description: PGP signature