Re: IPv6 address not connecting but IPv4-mapped -IPv6 does. Please help.

As far as I know, a link-local IPv6 address is ambiguous and you
have to specify which interface you are trying to access.

On the FreeBSD 7 implementation, you'd write this as

Thanks Gordon. I had couple of quick questions related to IPv6.

1) Whats the difference between link local IPv6 address and normal
IPv6 address, and how can one tell which one of link local and which
one is not ?

A link-local IPv6 IP address is in a particular netblock:
fe80::0/10 .

2. if I try to nfs mount over IPv6 as follows, I get an error:
"mount_nfs: fe80::21a:a0ff:feb5:7778%eth0: hostname nor servname
provided, or not known".

Not all commands have been modified to do IPv6, and some of them
are going to have problems. mount_nfs, for example, takes an
argument of the form hostname:pathname. Do you see where all the
colons in a typical IPv6 address is going to make parsing this
difficult? I'm not sure whether historically the pathname is allowed
to have colons in it.

Things might work better if you use HOSTNAMEs. Set up a DNS server
to serve IPv6 addresses of your hosts (don't leak link-local addresses
into the internet at large). Historically, the fec0::0/10 block
was for "site-local" addresses (with a very vague idea of what a
"site" is). If you want IPv6 addresses to use without a qualifier
of an interface, consider using that block. Or get real addresses.

mount_nfs -L -r 32768 -w 32768 -t 14 -o rw,tcp,intr -
fe80::21a:a0ff:feb5:7778%eth0:/home/daniel /mount/home/daniel

since my previous program ran successfully using a tcp connection, I
wan thinking that nfs mount would also work since it uses a tcp
connection. Any comments on my syntax ?

The now-standard way of turning a text hostname/IP address into a
binary IP address is one that wasn't standard when most IPv4 programs
were written. Don't expect all TCP programs to "just work" with IPv6.
I believe even getaddrinfo() needs a hint as to whether a text address
is a numeric vs. DNS name.