I'd sure like to know what Sun's motivation was to do this to it:
finagle% netstat -rn Routing Table: Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- xxx.yyy.zzz.64 xxx.yyy.zzz.92 U 3 1876 le0 aaa.bbb.ccc.0 aaa.bbb.ccc.129 U 2 1956 fddi0 224.0.0.0 xxx.yyy.zzz.92 U 3 0 le0 default xxx.yyy.zzz.65 UG 0 15201 127.0.0.1 127.0.0.1 UH 0 57191 lo0 finagle% which traceroute /usr/sbin/traceroute finagle% traceroute www.sun.com traceroute: Warning: Multiple interfaces found; using aaa.bbb.ccc.129 @ fddi0 traceroute to www.sun.com (192.18.97.195), 30 hops max, 40 byte packets 1 * * * ...
Why doesn't trace_route_ simply let the kernel _route_ the packet using the _rout_ing table? Trace_route_ should NOT be making any decisions like that for us. (And there's an option to do that if you really want to.)
Instead, it appears that traceroute selects the lexically-smallest non-local interface and informs you when it sees more than one.
The public-domain traceroute does not do this. Late news: Solaris 8 traceroute still does this but seems to route correctly.
I hate it when well-known diagnostic tools break like this. nslookup on HP-UX 11(?) is another example. nslookup is a diagnostic tool that is part of the BIND package. It's for debugging DNS. So why does it even mention an NIS server????
[3] % uname -a HP-UX hploc B.10.20 A 9000/782 2016279116 two-user license [4] % nslookup Default NIS Server: hostname Address: xxx.yyy.zzz.207 >