This fixes a bug that would miss a hop after an ICMP packet too big message, since it would continue increase the TTL without probing again. --- tracepath.c | 6 ++++++ tracepath6.c | 6 ++++++ 2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/tracepath.c b/tracepath.c index d035a1e..19b2c6b 100644 --- a/tracepath.c +++ b/tracepath.c @@ -352,8 +352,14 @@ main(int argc, char **argv) exit(1); } +restart: for (i=0; i<3; i++) { + int old_mtu; + + old_mtu = mtu; res = probe_ttl(fd, ttl); + if (mtu != old_mtu) + goto restart; if (res == 0) goto done; if (res > 0) diff --git a/tracepath6.c b/tracepath6.c index a010218..65c4a4a 100644 --- a/tracepath6.c +++ b/tracepath6.c @@ -422,8 +422,14 @@ int main(int argc, char **argv) exit(1); } +restart: for (i=0; i<3; i++) { + int old_mtu; + + old_mtu = mtu; res = probe_ttl(fd, ttl); + if (mtu != old_mtu) + goto restart; if (res == 0) goto done; if (res > 0) -- 1.5.0.2.gc260-dirty - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html