Blame TODO

Packit b802ec
Packit b802ec
Hi everyone, 
Packit b802ec
Packit b802ec
This is the "todo" file for mtr. I just realized that some people
Packit b802ec
might think that this is all in MY queue to implement. That is not
Packit b802ec
true: This is the "for everybody" todo list. Feel free to pick a
Packit b802ec
"project" and implement something off this list.
Packit b802ec
Packit b802ec
Students: Feel free to take up one of these as a programming exercise
Packit b802ec
for one of your courses.
Packit b802ec
Packit b802ec
Everybody: If you want to start on something, contact me first, so
Packit b802ec
that the effort isn't wasted by someone who finishes just a tad
Packit b802ec
earlier. I'll happily provide "coaching" to anyone who wants to
Packit b802ec
implement something on this list. That way we get the design of
Packit b802ec
these things the way I like them. This should result in a better
Packit b802ec
maintainable mtr.
Packit b802ec
Packit b802ec
Oh, Feel free to provide suggestions for this list. 
Packit b802ec
Packit b802ec
Packit b802ec
-- REW
Packit b802ec
Packit b802ec
----------------------------------------------------------------------
Packit b802ec
Packit b802ec
Packit b802ec
- Stuff to implement:
Packit b802ec
Packit b802ec
  - Allow mtr to log the return packets, for later analysis.
Packit b802ec
    Done: 0.25 . Todo: allow the user interface(s) to work while
Packit b802ec
    still logging to a file. Write a "logfile displaying" mode to
Packit b802ec
    mtr.
Packit b802ec
Packit b802ec
  - Request timestamping at the remote site.
Packit b802ec
       Andreas Fasbender has an algorithm that will allow us to 
Packit b802ec
       convert these measurements into one-way measurements, not just
Packit b802ec
       round-trip.
Packit b802ec
Packit b802ec
  - allow "keyboard navigation" in the GTK version. 
Packit b802ec
Packit b802ec
  - Keep all packets and make the "best" and "worst" columns show the
Packit b802ec
    xx-th percentile....
Packit b802ec
Packit b802ec
  - Can the reports generated also include any secondary servers?  In 
Packit b802ec
    the interactive mode, any new servers that are found in the 
Packit b802ec
    traceroute are added to the list, but it seems to only include 
Packit b802ec
    one set of servers when using the -r option.  
Packit b802ec
Packit b802ec
  - Being able to expand the "column width" of the hosts listed would 
Packit b802ec
    be nice, too.
Packit b802ec
Packit b802ec
Packit b802ec
- Bugs to fix?
Packit b802ec
Packit b802ec
  - Do something useful if host couldn't be resolved. 
Packit b802ec
       -- Done. 
Packit b802ec
Packit b802ec
  - Revert to curses mode even if DISPLAY is set, but a problem
Packit b802ec
    prevents us from running in X11 mode.
Packit b802ec
       -->  The problem is that gtk_init simply calls exit for us if
Packit b802ec
            it finds a problem. Tricky! Suggestions welcome. 
Packit b802ec
       --> Call "gtk_check_init" when available. (i.e. new enough
Packit b802ec
           (1.2?) GTK version).
Packit b802ec
Packit b802ec
- Nice to have:
Packit b802ec
Packit b802ec
  - stop sending packets when a new host is getting entered. 
Packit b802ec
Packit b802ec
  - Show state ("looking up host") while doing the DNS lookup for a new
Packit b802ec
    host.
Packit b802ec
Packit b802ec
  - to have a choice of icmp, tcp, and udp pings. -- Matt Martini
Packit b802ec
Packit b802ec
  - Autoconf 2.13 has a neat function that can be used to find the 
Packit b802ec
    res_init function: 
Packit b802ec
Packit b802ec
	   AC_SEARCH_LIBS(res_init, bind resolv, ,
Packit b802ec
	      AC_MSG_ERROR(No resolver library found))
Packit b802ec
Packit b802ec
    At the moment (march 1999) autoconf 2.13 is still too new to require 
Packit b802ec
    everyone to upgrade. About a year from now we can put this in....
Packit b802ec
Packit b802ec
  - Implement rfc2317 mechanism to do reverse lookups for networks that
Packit b802ec
    have DNS delegations on non-octet boundaries. -- Daniel Bergstrom
Packit b802ec
    (noa@melody.se)
Packit b802ec
Packit b802ec
  - The longer MTR runs, the less meaningful the packet loss
Packit b802ec
    statistic. Or more meaningful, depending on your point of view.
Packit b802ec
    Perhaps MTR should use a circular buffer of some configurable
Packit b802ec
    number of results, and calculate the loss against that. -- Jacob Elder
Packit b802ec
Packit b802ec
  - It would be nice if the window size wasn't fixed. If I'm only 5
Packit b802ec
    hops from the host I'm monitoring, MTR wastes a lot of screen real
Packit b802ec
    estate. -- Jacob Elder
Packit b802ec
Packit b802ec
  - Colors in the curses version. -- Amix
Packit b802ec
Packit b802ec
  - If we run a mtr to monitor a connection it would be nice if the time at
Packit b802ec
    which mtr was started is print somewhere. -- Sebastian Ganschow
Packit b802ec
Packit b802ec
Packit b802ec
Packit b802ec
------------------------------------------------------------------------
Packit b802ec
Packit b802ec
Things that shouldn't be on the TODO list because they're done. ;-)
Packit b802ec
Packit b802ec
  - Allow a toggle between hostname/IP number display. (for example a 
Packit b802ec
    click on the hostname could revert to ip number display in gtk version.
Packit b802ec
    curses: "n" key toggles hostnames/ipnumbers?)
Packit b802ec
Packit b802ec
  - Allow mtr to also send larger packets. 
Packit b802ec
       This will enable us to get a feel for the speed of the links
Packit b802ec
       we're traversing. (Van Jacobson was working on this His tool
Packit b802ec
       was slow, mtr will rock with this feature.... :-)
Packit b802ec
       (Anybody have the statistics experience to tell me how
Packit b802ec
       to do the data analysis?)
Packit b802ec
	-- DONE. Thanks to Olav Kvittem ...
Packit b802ec
Packit b802ec
  - The "don't probe all hosts at once" strategy can be improved a bit.
Packit b802ec
    It should not probe more than 10 unknown hosts, but the counter need
Packit b802ec
    not be reset at the start of the "round". This way if you probe
Packit b802ec
    slowly (relative to the RTT time to the end host), it can probe
Packit b802ec
    all hosts in the first "round". 
Packit b802ec
       -- DONE.
Packit b802ec
Packit b802ec
  - Read environment variable "MTR_DEFAULTS" as a commandline before
Packit b802ec
    parsing the commandline.  -- DONE. (ok it's MTR_OPTIONS.)
Packit b802ec