Hello Eugene
This is one of the interesting things about IPv6 that we haven’t encountered using IPv4. Remember that a link-local address is unique per network segment. This means that on a router, you can have the same link-local address on all of your interfaces! This also means that the destination IPv6 link-local address you are trying to ping may be on any of the network segments the router is connected to. Link-local addresses of other network devices don’t appear in the routing table and are never learned, so a router will not know to which interface such a ping should be sent. For this reason, if you ping an IPv6 link-local address, you must tell the device out of which interface the ping should be sent.
If you ping any link-local address, it will prompt you for the interface, as you showed in your post. I logged in and tried it myself and it shows the following:
R2#ping ipv6 FE80::1
Output Interface: ?
% Invalid interface. Use full interface name without spaces (e.g. Serial0/1)
Output Interface:
My output is a little different than yours due to a different IOS. Mine indicates the required syntax as well, and it prompts me again for the interface. Here are the results when I add the interface:
Output Interface: GigabitEthernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::1, timeout is 2 seconds:
Packet sent with a source address of FE80::5054:FF:FE05:409%GigabitEthernet0/0
.....
Success rate is 0 percent (0/5)
R2#
Of course, I don’t have another IPv6 host connected here so I have no response, but you can see that it accepts the input of the interface and sends the ping.
I hope this has been helpful!
Laz