1. Summary mtr[1], or "My Traceroute", is a network diagnostic tool akin to traceroute, in that it detects round trip times from your local machine to one given on the commandline. However, rather than making merely three attempts to ping each machine along the route, it pings each machine periodically until told to stop, presenting the accumulating data either in a table of statistics or as a graph of times. 2. Specific Issues 2.1 Placement Mtr is a highly useful tool for both system administrators and end-users, and it is the opinion of the project team that it should be available in /usr/bin instead of /usr/sbin. 2.2 Setuid Like traceroute and ping, mtr uses raw sockets to send ICMP echo requests, and this requires privilege. Because the program is useful not only to system administrators but to normal users, it is highly convenient to install this setuid root so as to be able to gain that privilege, and this project proposes to do so. Mtr grabs itself a raw socket first thing on startup and immediately drops all privileges, calling setuid(getuid()), as it won't need that privilege again. 2.3 Graphical UI vs Terminal UI Mtr can operate in a terminal with a curses UI, or it can throw up a window using GTK+. Because the GUI code uses GTK+ 1.x and is less functional than the curses UI, we propose to not compile this in. Should these problems ever be corrected, a future project may enable the GUI. 3. Exported Interfaces /usr/bin/mtr Uncommitted Executable location Uncommitted Commandline options Uncommitted "Raw" and "split" output formats. SUNWmtr Uncommitted Package name 4. References [1] http://mtr.bitwizard.nl/mtr/