Bug 210286 - Traceroute6 does not timeout in the continued presence of echo replies
Summary: Traceroute6 does not timeout in the continued presence of echo replies
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 10.3-RELEASE
Hardware: Any Any
: --- Affects Some People
Assignee: Hiroki Sato
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2016-06-14 21:20 UTC by Denny Page
Modified: 2016-11-16 03:51 UTC (History)
4 users (show)

See Also:


Attachments
Diff to fix traceroute6 (306 bytes, patch)
2016-06-14 21:20 UTC, Denny Page
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Denny Page 2016-06-14 21:20:22 UTC
Created attachment 171445 [details]
Diff to fix traceroute6

If traceroute6 is run and one of the hops is not responding, receipt of an IPv6 ICMP echo reply will cause traceroute6 to re-execute the wait on the current probe. If echo replies are coming in at a rate faster than the timeout, traceroute6 will essentially wait forever on the non responding hop.

This can be easily reproduced using ping6 and traceroute6 simultaneously in the presence of non responsive hops.

A diff which corrects the problem is attached.
Comment 1 cbuechler 2016-07-10 02:28:37 UTC
This patch confirmed to fix the problem. We imported it into pfsense. 
https://redmine.pfsense.org/issues/3069
Comment 2 Ralf van der Enden 2016-11-04 16:07:39 UTC
I can confirm this patch fixes the issue on FreeBSD 11.0-RELEASE-p3 as well.
Comment 3 commit-hook freebsd_committer freebsd_triage 2016-11-05 18:01:14 UTC
A commit references this bug:

Author: hrs
Date: Sat Nov  5 18:00:36 UTC 2016
New revision: 308347
URL: https://svnweb.freebsd.org/changeset/base/308347

Log:
  Fix an infinite loop at an non-responding hop when other echo replies
  are kept arriving in the waittime time window.

  Submitted by:	Denny Page
  PR:		210286
  MFC after:	3 days

Changes:
  head/usr.sbin/traceroute6/traceroute6.c
Comment 4 Hiroki Sato freebsd_committer freebsd_triage 2016-11-05 18:02:34 UTC
Sorry for the delay.  Your patch has been committed into CURRENT and will be merged into the STABLE branches. Thank you for your report.
Comment 5 commit-hook freebsd_committer freebsd_triage 2016-11-16 03:51:55 UTC
A commit references this bug:

Author: hrs
Date: Wed Nov 16 03:51:05 UTC 2016
New revision: 308714
URL: https://svnweb.freebsd.org/changeset/base/308714

Log:
  MFC r308347:

    Fix an infinite loop at an non-responding hop when other echo replies
    are kept arriving in the waittime time window.

    Submitted by: Denny Page
    PR:           210286

Changes:
_U  stable/11/
  stable/11/usr.sbin/traceroute6/traceroute6.c
Comment 6 commit-hook freebsd_committer freebsd_triage 2016-11-16 03:51:57 UTC
A commit references this bug:

Author: hrs
Date: Wed Nov 16 03:51:15 UTC 2016
New revision: 308715
URL: https://svnweb.freebsd.org/changeset/base/308715

Log:
  MFC r308347:

    Fix an infinite loop at an non-responding hop when other echo replies
    are kept arriving in the waittime time window.

    Submitted by: Denny Page
    PR:           210286

Changes:
_U  stable/10/
  stable/10/usr.sbin/traceroute6/traceroute6.c