Skip to content

traceroute does not stop on subnet router anycast addresses on linux routers #496

Description

@ChrisRol99

Hi,

I filed a bugreport(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1055978) on the debian package 'mtr-tiny' and they told me I should open a github issue.

The problem is, that the traceroute does not terminate if the target is a anycast address, below i presented an example and attached some network traces.

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)
test_setup

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

Network traces:
networkTrace.tar.gz

Summary of my problem:
BUG: An ICMP reply should be interpreted as a "destination reached"
Wishlist: tag the IP when the address doesn't match the destination
we're targetting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions