Hi, 

What I meant with "trace" is a network dump. Like tcpdump or wireshark. 
What packet is coming back ? 

        Roger. 


On Wed, Nov 15, 2023 at 03:40:25PM +0100, linux wrote:
> 
> Hi,
> 
> I aggree with you that it's not really a bug, anyways I thougt it could be 
> handled different by the program. Your proposal with the additional 
> "end-detection" would seem to work fine for this problem, below I presented 
> you the exact behavior in my test setup and attached some network traces and 
> a diagram of the setup.
> 
> I prepared a test setup and captured two traces of the network. The test 
> consists of three linux routers which are connected as follows: R1 <-> R2 <-> 
> R3 (see test_setup.png)
> 1st trace(intended_behavior.pcap) works as expected:
> From R1 to R3:
> mtr -c 1 2001:db8:0:3::1
> Host                                                                       
> Loss%   Snt   Last   Avg  Best  Wrst StDev
>  1. 2001:db8:0:1::2                                                          
> 0.0%     1    1.0   1.0   1.0   1.0   0.0
>  2. 2001:db8:0:3::1                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 
> 2nd trace(unintended_behavior.pcap) does not stop, because I try to reach the 
> anycast address:
> mtr -c 1 2001:db8:0:3::
> Host                                                                       
> Loss%   Snt   Last   Avg  Best  Wrst StDev
>  1. 2001:db8:0:1::2                                                          
> 0.0%     1    1.0   1.0   1.0   1.0   0.0
>  2. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
>  3. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
>  4. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
>  5. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
>  6. 2001:db8:0:2::2                                                          
> 0.0%     1    1.0   1.0   1.0   1.0   0.0
>  7. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
>  8. 2001:db8:0:2::2                                                          
> 0.0%     1    1.2   1.2   1.2   1.2   0.0
>  9. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 10. 2001:db8:0:2::2                                                          
> 0.0%     1    1.2   1.2   1.2   1.2   0.0
> 11. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
> 12. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 13. 2001:db8:0:2::2                                                          
> 0.0%     1    1.2   1.2   1.2   1.2   0.0
> 14. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
> 15. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 16. 2001:db8:0:2::2                                                          
> 0.0%     1    1.1   1.1   1.1   1.1   0.0
> 17. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 18. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
> 19. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 20. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 21. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
> 22. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 23. 2001:db8:0:2::2                                                          
> 0.0%     1    1.3   1.3   1.3   1.3   0.0
> 24. 2001:db8:0:2::2                                                          
> 0.0%     1    1.5   1.5   1.5   1.5   0.0
> 25. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 26. 2001:db8:0:2::2                                                          
> 0.0%     1    1.2   1.2   1.2   1.2   0.0
> 27. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 28. 2001:db8:0:2::2                                                          
> 0.0%     1    1.2   1.2   1.2   1.2   0.0
> 29. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 30. 2001:db8:0:2::2                                                          
> 0.0%     1    1.4   1.4   1.4   1.4   0.0
> 
> 
> On Wednesday, November 15, 2023 11:15 CET, Rogier Wolff 
> <r.e.wo...@bitwizard.nl> wrote:
>  Hi,
> 
> I'd say this is an unwanted side-effect rather than a bug.
> 
> I'd say the "end-detection" might also consider three times the same
> host responding to be considerd as "the end".
> 
> Originally the TTL, that is now "hop counter" was the "number of
> seconds in the network".
> 
> Thus if there was a queue of 5 seconds before a packet could take
> the next link, the TTL would be decreased by five for that hop. And
> that router should return a TTL EXCEEDED for packets arriving with
> a TTL of 1-5.
> 
> This would, after the suggested change trigger the end-detection. I'm
> thinking that this would be rare enough nowadays to be acceptable.
> 
> The question is: What response are you getting. If it is a "ping
> reply" and not a "time exceeded" we should definitively detct that as
> "target reached". So can you trace the network?
> 
> Can you submit an upstream bugreport on github?
> https://github.com/traviscross/mtr/issues
> 
> Roger.
> 
> 
> On Wed, Nov 15, 2023 at 10:45:28AM +0100, Roland Christanell wrote:
> > Package: mtr-tiny
> > Version: 0.94-1+deb11u1
> > Severity: normal
> > Tags: ipv6
> > X-Debbugs-Cc: li...@christanell.info
> >
> > Dear Maintainer,
> >
> > When I'm trying to use mtr to an 'subnet router anycast address' which 
> > terminates on a linux router, the router answers with the IPv6 address 
> > configured on it's interface and not the anycast address, so the mtr does 
> > not stop.
> >
> > (For the example I use the IPv6 documentation address space)
> > Let's say my linux router has the IPv6 2001:db8:0:1::1/64 and I want to 
> > make a traceroute to 2001:db8:0:1::
> > Example: mtr 2001:db8:0:1::
> > Host Loss% Snt Last Avg Best Wrst StDev
> > 1. XXXX:XXXX::X:XX 0.0% 3 0.7 1.4 0.7 2.6 1.1
> > 2. XXXX:XXXX::X:XX 0.0% 3 2.4 1.3 0.7 2.4 1.0
> > 3. XXXX:XXXX::X:XX 0.0% 3 3.4 4.5 3.4 5.5 1.1
> > 4. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 5. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 6. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 7. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 8. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 9. 2001:db8:0:1::1 0.0% 3 3.7 3.6 3.5 3.7 0.1
> > 10. .......
> >
> > In my opinion the mtr does not stop, because it does not get an answer from 
> > the requested address, but because it's an 'subnet router anycast address' 
> > the router answers anyway, which is correct.
> >
> > Maybe I'm wrong, but I would expect a result like this:
> > Example: mtr 2001:db8:0:1::
> > Host Loss% Snt Last Avg Best Wrst StDev
> > 1. XXXX:XXXX::X:XX 0.0% 3 0.7 1.4 0.7 2.6 1.1
> > 2. XXXX:XXXX::X:XX 0.0% 3 2.4 1.3 0.7 2.4 1.0
> > 3. XXXX:XXXX::X:XX 0.0% 3 3.4 4.5 3.4 5.5 1.1
> > 4. 2001:db8:0:1:: 0.0% 3 3.7 3.6 3.5 3.7 0.1
> >
> > As far as I found out, it seems to only appear on linux routers, so I'm not 
> > 100% sure if it's a bug in mtr-tiny or a misconfiguration on the linux 
> > routers.
> >
> >
> > -- System Information:
> > Debian Release: 11.8
> > APT prefers oldstable-updates
> > APT policy: (500, 'oldstable-updates'), (500, 'oldstable-security'), (500, 
> > 'oldstable')
> > Architecture: amd64 (x86_64)
> >
> > Kernel: Linux 5.10.0-26-amd64 (SMP w/1 CPU thread)
> > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
> > LANGUAGE=en_US:en
> > Shell: /bin/sh linked to /usr/bin/dash
> > Init: systemd (via /run/systemd/system)
> > LSM: AppArmor: enabled
> >
> > Versions of packages mtr-tiny depends on:
> > ii libc6 2.31-13+deb11u7
> > ii libjansson4 2.13.1-1.1
> > ii libncurses6 6.2+20201114-2+deb11u2
> > ii libtinfo6 6.2+20201114-2+deb11u2
> >
> > mtr-tiny recommends no packages.
> >
> > mtr-tiny suggests no packages.
> >
> > -- no debconf information
> >
> 
> --
> ** r.e.wo...@bitwizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
> ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 **
> f equals m times a. When your f is steady, and your m is going down
> your a is going up. -- Chris Hadfield about flying up the space shuttle


-- 
** r.e.wo...@bitwizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

Reply via email to