Mtr

Comment 2 for bug 776211

Revision history for this message
rew (r-e-wolff) wrote :

koitsu, No, as the original reporter said: MTR stops looking for replies as soon as all the packets have been sent.

At about 20 hops, each packet would need to be sent 50ms after the previous packet. So with 200ms round trip times, about 4 packets are still in transit when the packet for host "21" is getting sent. Apparently you were lucky that the packet foir host 18, the fourth from the bottom was already received when mtr stopped processing (just after sending the packet towards the 21st host. (on the other hand, it makes sense, as it's rtt is just BELOW 200ms....

There are two ways to solve this. First, and best is to change the main mtr loop to wait some time after "maxiterations" before stopping. This is the

          if(NumPing >= MaxPing && (!Interactive || ForceMaxPing))
            return;

in select.c that has to be modified.

Second would be to patch the reporting side to "guess" how many packets are still "in transit".

While looking for how to help you find the code to fix it, I tought of a good way to fix it, and implemented it. ... Now lets see if I can get mtr compiled....