Introduction
This document describes what the IPv6 traceroute returns in a 6PE or 6VPE network.
These examples are taken from a network that runs 6PE. The results are the same for a network that runs 6VPE. In the case of both a 6PE and 6VPE network, the P router receives the traceroute packet with two MPLS labels in the label stack. If the P router generates an Internet Control Message Protocol (ICMP) error message that says that the Time To Live (TTL) expired, it uses the label stack of the original traceroute packet and forwards the ICMP error message towards the egress Provider Edge (PE) router. At that point, the ICMP error message is forwarded back to the originator of the traceroute.
Note: This article only applies to P routers that run Cisco IOS®.
Case 1
- The P router is IPv6-capable.
- The P router has IPv6 unicast routing and IPv6 CEF enabled.
- The P router does not have IPv6 addresses.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 1 msec 0 msec
2 ::FFFF:10.1.2.4 [MPLS: Labels 17/23 Exp 0] 2 msec 2 msec 1 msec
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 1 msec 1 msec
4 2001:10:1:7::7 [AS 1] 2 msec 1 msec 2 msec
- The P router replies with the IPv4-mapped IPv6 address: ::FFFF:10.1.2.4.
- 10.1.2.4 is the IPv4 address of the incoming interface on the P router.
Case 2
- The P router is IPv6-capable.
- The P router has IPv6 unicast routing and IPv6 CEF enabled.
- The P router does have IPv6 addresses.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 1 msec 0 msec
2 2001:2001::1 [MPLS: Labels 17/23 Exp 0] 2 msec 1 msec 1 msec
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 1 msec 1 msec 1 msec
4 2001:10:1:7::7 [AS 1] 2 msec 2 msec 1 msec
- The P router replies with the IPv6 address on the incoming interface.
- If there is no IPv6 address on that interface, it tries to find an IPv6 address from another interface.
However, in newer code the P router replies with the IPv4-mapped IPv6 address.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 0 msec 1 msec
2 ::FFFF:10.1.2.4 [MPLS: Labels 17/23 Exp 0] 2 msec 1 msec 2 msec
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 1 msec 2 msec 2 msec
4 2001:10:1:7::7 [AS 1] 2 msec 2 msec 2 msec
- The P router replies with the IPv4-mapped IPv6 address: ::FFFF:10.1.2.4.
- 10.1.2.4 is the IPv4 address of the incoming interface on the P router.
Case 3
- The P router is IPv6-capable.
- The P router does not have IPv6 unicast routing and IPv6 CEF enabled.
- The P router does not have IPv6 addresses.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 1 msec 1 msec
2 ::FFFF:10.1.2.4 [MPLS: Labels 17/23 Exp 0] 2 msec 2 msec 2 msec
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 1 msec 1 msec
4 2001:10:1:7::7 [AS 1] 2 msec 1 msec 2 msec
- The P router replies with the IPv4-mapped IPv6 address: ::FFFF:10.1.2.4.
- 10.1.2.4 is the IPv4 address of the incoming interface on the P router.
Case 4
The P router is not IPv6-capable.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 0 msec 1 msec
2 * * *
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 1 msec 1 msec
4 2001:10:1:7::7 [AS 1] 1 msec 2 msec 1 msec
- The P router does not reply (you see "* * *" in the traceroute output).
- The P router cannot generate an ICMPv6 error message.
Case 5
- The P router is pre-MFI code (Cisco IOS).
- The P router is IPv6-capable.
CE1#trace
Protocol [ip]: ipv6
Target IPv6 address: 2001:10:100:1::7
Source address: 2001:10:100:1::5
Insert source routing header? [no]:
Numeric display? [no]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Priority [0]:
Port Number [0]:
Type escape sequence to abort.
Tracing the route to 2001:10:100:1::7
1 2001:10:1:5::1 1 msec 0 msec 1 msec
2 * * *
3 2001:10:1:7::2 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 1 msec 1 msec
4 2001:10:1:7::7 [AS 1] 1 msec 2 msec 1 msec
- The P router does not reply (you see "* * *" in the traceroute output).
- The P router that runs pre-MFI code (Cisco IOS) does not check to see if IPv6 follows the label stack.
Conclusion
- If the P router is not IPv6-capable it will not reply.
- If the P router is IPv6-capable, but the P router has pre-MFI code (Cisco IOS), it will not reply.
- If the P router is IPv6-capable and has no IPv6 addresses, it will reply with the IPv4-mapped IPv6 address, where the IPv4 address is the one on the incoming interface of the traceroute packet.
- If the P router is IPv6-capable and has IPv6 addresses, it will either reply with the IPv4-mapped IPv6 address, where the IPv4 address is the one on the incoming interface of the traceroute packet, or it will reply with an IPv6 address configured on the router.