IPv6 UDP checksums like IPv4 but with IPv6 pseudoheader
Fixes a problem where both source and destination port are supplied on the commandline, this lead to packets not showing up any more due to checksum being different.
Adjust MIN_PORT to match other implementations
Port 33434 is the IANA-reserved port for traceroute. It also seems to be the most common start port. The following implementations, and likely others, use it as their start port:
The benefit to using a standard starting port is that some firewalls may have these ports allowed, whereas other ports may be blocked, so there is a greater probability the probe will succeed.
Use addrs for static host ordering in curses
Change d2552ca has the side effect of moving hosts around in the multipath view, as the last host to reply to a packet was set as addr. Using addrs[0] istead of addr to draw the first host keeps the ordering deterministic, in order of first reply.
Add --max-display-paths option
It is not unknown to have datacenters with over 8 ECMP paths between two hops. Expand the maximum number of ECMP hosts stored in addrs to 128, and add a new option to control the number to display, defaulting to the old MAX_PATHS of 8
Set SO_BINDTODEVICE for -I
This is done by traceroute and other tools as well. It requires CAP_NET_RAW, but without it the -I option doesn't seem to have any effect.
Check if SO_BINDTODEVICE is defined
Add help info for option -E
Make interactive and non-interactive exit code the same
Before this change the report gave successful exit value when destination hostname could not be found.
Fix the sizes passed into snprintf
Add option to use custom ipinfo provider
Implement ASN lookups in well-known NAT64 prefix
Add error code ETIMEOUT(110) handle logic
Change UDP and ICMP sockets binding to accept a source IP from the -a CLI option
Fix capability management, retain CAP_NET_ADMIN
Modify the capability-dropping logic to specifically retain CAP_NET_ADMIN if it is initially provided, in adherence to least-privilege principles.
Fix interface binding by retaining CAP_NET_RAW
Addresses an issue where mtr would fail with EPERM because setting the SO_BINDTODEVICE socket option requires the CAP_NET_RAW capability.
Annotate set_privileged_socket_opt with UNUSED
The set_privileged_socket_opt function is currently called only when SO_MARK or SO_BINDTODEVICE are defined. On systems that do not support either feature, set_privileged_socket_opt is expected to be unused. Adding an annotation suppresses compiler warnings.
Drop capabilities when setsockopt errors
Ensure that set_privileged_socket_opt drops capabilities even in the event that setsockopt returns an error.
Use packet marking for IP address selection
In certain scenarios, the routing policy database may affect packet routing. When selecting an address in mtr, assign a packet mark if SO_MARK is defined and a mark has been supplied.
Support hexadecimal arguments for packet marking
Packet marks are often specified in hexadecimal format. Update the strtonum_or_err function to parse both hexadecimal and decimal values.
Add a compact mode in curses
Handle EHOSTDOWN and refine error handling better granularity
Prevent icmp_socket leak on error
Change how confliciting first/max TTL works
XML report: remove leading spaces
Add braille graph support with --displaymode 3
Set UTF-8 encoding for XML reports
Increased max probes
Implement addrcmp for AF_UNSPEC
When mtr is compiled with IPv6 enabled, the GTK frontend sets the address family to AF_UNSPEC when changing destinations. However, addrcomp does not support this AF type, which causes all comparisons to not match. For the GTK frontend, this leads to a cascading failure when setting the destination to a host that does not resolve.
Add protection against use of MTR_PACKET under special circumstances
Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:
sudo dnf upgrade --refresh --advisory=FEDORA-2026-786dafcb22
Please log in to add feedback.
This update has been submitted for testing by robert.
This update's test gating status has been changed to 'ignored'.
robert edited this update.
robert edited this update.
robert edited this update.
This update has been pushed to testing.
Works.
This update can be pushed to stable now if the maintainer wishes
Works great! LGTM! =)
This update has been submitted for stable by bodhi.
Works
no regressions noted
This update has been pushed to stable.