IPV6 Link local addresses are autoconfigured addresses based on the devices MAC address.
The biggest problem is that the kernel has fe80::0/10 routed with every interface, so if you ping a link local address it doens't know which interface to use.
The way to get around this is to tell the program which interface to use.
telnet: $ telnet.netkit fe80::205:1cff:fe10:5edf%wan0 bgpd Trying fe80::205:1cff:fe10:5edf%wan0... Connected to fe80::205:1cff:fe10:5edf%wan0. Escape character is '^]'.
ping: $ ping6 -I eth1 fe80::202:2dff:fe51:a1b2
etc.
6 pages link to LinkLocal: