<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/usr.sbin/traceroute6/traceroute6.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-02-09T10:00:10Z</updated>
<entry>
<title>traceroute: graceful recover after networking errors with as_server</title>
<updated>2026-02-09T10:00:10Z</updated>
<author>
<name>Eugene Grosbein</name>
<email>eugen@FreeBSD.org</email>
</author>
<published>2026-02-09T09:47:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=60a6ebaf73719ef7aa15768c3906626fb106b2b3'/>
<id>urn:sha1:60a6ebaf73719ef7aa15768c3906626fb106b2b3</id>
<content type='text'>
Currentlu, the traceroute[6] utility does not check
for possible networking errors while talking to as_server
in case of "traceroute -a". Meantime, there is a common case
when trace is long and it has many non-responding hops
(shown as '* * *'), so as_server aborts our connection,
hence no AS numbers shown for the rest of trace.

Somewhat artifical way to reproduce the problem:

traceroute to 57.144.244.1 (57.144.244.1), 80 hops max, 48 byte packets
 5  [AS174] be2950.ccr42.fra05.atlas.cogentco.com (154.54.72.42)  74.277 ms  9.605 ms  9.599 ms
 6  [AS174] 149.11.228.19 (149.11.228.19)  9.506 ms  9.466 ms  9.420 ms
 7  [AS33182] po172.asw02.fra5.tfbnw.net (129.134.108.146)  9.725 ms  9.874 ms  9.696 ms
 8  [AS32934] psw04.fra5.tfbnw.net (157.240.59.85)  8.718 ms  8.691 ms  8.618 ms
 9  * * *
10  [AS0] edge-star-mini-shv-01-fra5.facebook.com (57.144.244.1)  9.747 ms  9.815 ms  9.699 ms

Note what due to increased timeout (-w10) we get [AS0] for 10th hop
because as_server closed our connection. Same problem occurs
with default -w3 when there are lots of '* * *' hops in a trace.

Fix it with some additional error checking and a reconnection.

This patch was in my use for many years and after traceroute(8) moved
from contrib/ to usr.sbin/ it's nice to have it in the tree.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>traceroute6(8): Stop probing on networks rejected.</title>
<updated>2025-06-08T15:21:24Z</updated>
<author>
<name>Juraj Lutter</name>
<email>otis@FreeBSD.org</email>
</author>
<published>2024-11-11T22:39:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=99ec65e7fe61e3148dde543ed7d6566fe589a565'/>
<id>urn:sha1:99ec65e7fe61e3148dde543ed7d6566fe589a565</id>
<content type='text'>
Stop probing after receiving ICMP6_DST_UNREACH and print
ICMP6 error code.

The behavior can be observed by tracing the route to,
for example, 2a02:ee80:4028:1126::

Discussed with:		Job Snijders, Nick Hilliard
Obtained from:		OpenBSD
Reviewed by:		markj, jlduran
Differential Revision:	https://reviews.freebsd.org/D47520
</content>
</entry>
<entry>
<title>tcp: extend the use of the th_flags accessor function</title>
<updated>2024-11-29T08:48:23Z</updated>
<author>
<name>Richard Scheffenegger</name>
<email>rscheff@FreeBSD.org</email>
</author>
<published>2024-11-29T08:44:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0fc7bdc978366abb4351b0b76b50a5848cc5d982'/>
<id>urn:sha1:0fc7bdc978366abb4351b0b76b50a5848cc5d982</id>
<content type='text'>
Formally, there are 12 bits for TCP header flags.
Use the accessor functions in more (kernel) places.

No functional change.

Reviewed By: cc, #transport, cy, glebius, #iflib, kbowling
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D47063
</content>
</entry>
<entry>
<title>traceroute: Standardize usage</title>
<updated>2024-02-03T03:14:09Z</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-11-05T18:35:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ba09352b73238bb4f1ca8586aab95cb2d9544bdc'/>
<id>urn:sha1:ba09352b73238bb4f1ca8586aab95cb2d9544bdc</id>
<content type='text'>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/901
</content>
</entry>
<entry>
<title>traceroute: Update values in examples</title>
<updated>2024-02-03T03:14:09Z</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-11-05T17:57:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=00aa6353374c7a343e54e07894b018cd755f8bec'/>
<id>urn:sha1:00aa6353374c7a343e54e07894b018cd755f8bec</id>
<content type='text'>
Standardize the documentation and update it to reflect the current
values.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/901
</content>
</entry>
<entry>
<title>traceroute6: remove -l flag</title>
<updated>2024-02-02T21:49:13Z</updated>
<author>
<name>Lexi Winter</name>
<email>lexi@le-Fay.ORG</email>
</author>
<published>2024-02-02T21:46:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0a49be722fe0cf84c55eb148348499bf66de6ae7'/>
<id>urn:sha1:0a49be722fe0cf84c55eb148348499bf66de6ae7</id>
<content type='text'>
The -l flag was used to tell traceroute6(8) to show both hostname and
address for each hop.  However, traceroute(8) already does this by
default, and there's no reason for traceroute6 to behave differently.

Make this the default behaviour, and accept -l for backward
compatibility as a no-op flag.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1023
</content>
</entry>
<entry>
<title>traceroute6: Implement ECN bleaching detection</title>
<updated>2024-01-03T17:57:29Z</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-10-27T23:59:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0c2218d1d5fda2c579d3d33f1fd3af9ad447e160'/>
<id>urn:sha1:0c2218d1d5fda2c579d3d33f1fd3af9ad447e160</id>
<content type='text'>
Explicit Congestion Notification (ECN) is a mechanism that allows
end-to-end notification of network congestion without dropping packets
by explicitly setting the ECN code point (2 bits).

Per RFC 8087, section 3.5, network devices should not be configured to
change the ECN code point in the packets that they forward, except to
set the CE (Congestion Experienced) code point ('11') to signal
incipient congestion.

The current commit adds an -E flag to traceroute6 that crafts a packet
with an ECT(1) code point ('01').

If the packet is received back with a zero ECN code point ('00'), it
outputs that the hop in question erases or "bleaches" the ECN code point
values.  Bleaching may occur for various reasons (including normalizing
packets to hide which equipment supports ECN).  This policy prevents the
use of ECN by applications.

If the packet is received back with an all-ones ECN code point ('11'),
it outputs that the hop in question is experiencing "congestion".

If the packet is received back with a different ECN code point ('10'),
it outputs that the hop in question changes or "mangles" the ECN code
point values.

If the packet is received with the same ECN code point that was sent
('01'), it outputs that the hop has "passed" the ECN bits appropriately.

Inspired by:	Darwin
Reviewed by:	imp, markj
MFC after:	1 month
Pull Request:	https://github.com/freebsd/freebsd-src/pull/879
</content>
</entry>
<entry>
<title>traceroute6: style(9) fixes</title>
<updated>2024-01-03T17:54:53Z</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-10-27T23:53:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=777e494a7634bbdd8ab0cf403ae22a464669d804'/>
<id>urn:sha1:777e494a7634bbdd8ab0cf403ae22a464669d804</id>
<content type='text'>
No functional change intended.

Reviewed by:	imp, markj
MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd-src/pull/879
</content>
</entry>
<entry>
<title>Remove copyright strings ifdef'd out</title>
<updated>2023-11-27T05:23:58Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-24T07:45:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0b8224d1cc9dc6c9778ba04a75b2c8d47e5d7481'/>
<id>urn:sha1:0b8224d1cc9dc6c9778ba04a75b2c8d47e5d7481</id>
<content type='text'>
We've ifdef'd out the copyright strings for some time now. Go ahead and
remove the ifdefs. Plus whatever other detritis was left over from other
recent removals. These copyright strings are present in the comments and
are largely from CSRG's attempt at adding their copyright to every
binary file (which modern interpretations of the license doesn't
require).

Sponsored by:		Netflix
</content>
</entry>
<entry>
<title>usr.sbin: Remove ancient SCCS tags.</title>
<updated>2023-11-27T05:23:56Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-23T17:21:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8a7b61203704d362cfbc66c00619f51b24106b55'/>
<id>urn:sha1:8a7b61203704d362cfbc66c00619f51b24106b55</id>
<content type='text'>
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
</content>
</entry>
</feed>
