As you had discovered, already, ICMP packets set the value to 255. Other protocols use the sysctl value.
As I mentioned above, this is used by traceroute(8), and also by ping(1). There's a nice discussion of TTL in the ping(1) man page.
If you want to muck about in the kernel source.. have fun. The source is packaged with the CD-ROMs, and may also be downloaded from your nearest mirror. You might find src/sys/netinet/ip_icmp.c a good starting point for looking at ICMP logic.
FAQ 5 is required reading, if you are interested in modifying the source and rebuilding the kernel.
You have still not articulated a reason why you want 125 in the TTL field for ICMP ECHO packets.
I believe it is a complete waste of your time to do this. But you are a newbie, and I am unable to dissuade you from going down this path.
Please try to have fun. Don't forget to back up your -release kernel. And good luck to you.
|