* It seems that `-l' and `-g' will not work correctly together (IPv6).

  Wait for "flow label" API to be appeared in kernel-headers and
  think about it immediately after that... :)


* The "final hop" issue.

  All methods, usable when firewalls are present in the network path,
  normally use some particular destination port. Most often it is a port
  of an already running application.

  It requires that the packet sent should be correct for such an application
  (for example, for tracing with udp to port 53, it should be correct DNS
  request), and the application normally should answer something on it.
  (TCP has no such an issue, as there are just syn to, and ack or reset from).

  In general, we should fill the packet's data depending on the dest port
  and protocol. It seems not a task for traceroute itself, it could be
  some cmdline option or even external hook...


* Think about SCTP method.


* Think about "multicast tracerouting" (mrouted(8) and other).
  The idea is to increase the room in the mtrace packet step-by-step
  (as well as we increase ttl). It seems that if there is no more space
  in the probe's room, the mrouted(8) daemon answers immediately, the same
  way as if it is a final hop.

  For IPv6 mtrace, there is an RFC draft for this already...

