traviscross / mtr

Official repository for mtr, a network diagnostic tool
http://www.bitwizard.nl/mtr/
GNU General Public License v2.0
2.6k stars 334 forks source link

mtr-packet returns "invalid argument" for IPv6 probe command #502

Closed smlx closed 4 months ago

smlx commented 4 months ago

mtr version

v0.95-56-ge137a71

What I did

./mtr -I enxf56fa8bb22eg -6 one.one.one.one

What I expected

mtr to perform an IPv6 probe.

What I got

$ ./mtr -I enxf56fa8bb22eg -6 one.one.one.one 
./mtr: mtr-packet reported invalid argument

Extra info

strace snippet

write(4, "33000 send-probe ip-6 2606:4700:4700::1001 local-ip-6 2403:5678:9abc:d:ef01:2345:6789:abcd protocol icmp size 64 bit-pattern 0 tos 0 ttl 1 timeout 10 local-device enxf56fa8bb22eg\n", 179) = 179
read(5, "33000 invalid-argument\n", 4095) = 23

reproducing the bug in mtr-packet

Find a valid local ipv6 address:

ip a

Pass it in the command to mtr-packet:

$ IPv6_Address='2403:5678:9abc:d:ef01:2345:6789:abcd'; echo "33000 send-probe ip-6 2606:4700:4700::1001 local-ip-6 $IPv6_Address protocol icmp size 64 bit-pattern 0 tos 0 ttl 1 timeout 10" | ./mtr-packet
33000 invalid-argument
smlx commented 4 months ago

Never mind. This was due to Nordlayer screwing up the entire IPv6 stack on the box. Their buggy software apparently has issues with IPv6 and they recommend disabling it entirely (!).

Disabling the nordlayer service fixed my issue.