I saw my first computer (an HP2116-C) back in 1970, and was forever hooked. Currently, I'm maintaining a Linux pseudo-distribution (I call it Fnord) of my own design, and am venturing into the world of FreeBSD (currently 4.10).
Which leads into a question:
Wanting to learn how FreeBSD works, I thought I'd play with traceroute-1.4a12, getting it to use the BSD declarations in glibc-2.3.2 made available by adding -D_BSD_SOURCE to the CPPFLAGS, writing up a few new autoconf tests, and getting the whole mess to build and run under linux-2.4.29/glibc-2.3.2 and FreeBSD-4.10. Under Linux, everything's fine, but under FreeBSD, I get
traceroute: sendto: Invalid Argument
errors. Unfortunately, I don't know enough about FreeBSD to know what might be missing or hosed in my code, or to even ask the right questions.
I can tell you that all the same code gets built under both systems, that the outgoing packet looks exactly the same under both, that I'm setting SO_SNDBUF to 40 on the outgoing socket, setting IP_HDRINCL, not calculating IP checksums... Oh, yes: it's the traditional traceroute for now (send a UDP probe out on a raw socket, wait for the ICMP TIME_EXCEEDED to come back, bump the TTL, do it again).
Any ideas? Any suggestions of things I should look for? Any help would be appreciated...