> > RFC 3542 and RFC 3493 do use ifindex, but never to refer to a zone ID
> > or anything that can appear with a %.  It only uses it with APIs that
> > want to explicitly reference an interface. RFC 3493 uses the term
> > "scope id" (e.g.,
> > sin6_scope_id) to refer to a zone id.
> > RFC 4007 is the primary RFC that explains the relationship between
> > zone id, interface index, etc., and is the main one relevant to this
> conversation.
> 
> 3542 and 3493. For example, 3493 has "if_nametoindex" and 3542's struct
> in6_pktinfo contains a member called ipi6_ifindex.
>
> It's also a sorry state that struct sockaddr_in6 has sin6_scope_id, which is
> confusing with IPv6 scope levels.

Right, and unfortunately one cannot assume that a zone id in a URL can
be passed to "if_nametoindex", so any code that resolves a zone id to either
an ipi6_ifindex or to a sin6_scope_id must necessarily be platform specific.
That's because platforms vary significantly in how they support RFC 4007.

> Indeed 4007 tries to clarify it all, but for Unix systems I have access to, 
> one
> interface = one link.

Yes, most Unix systems are pretty limited in their RFC 4007 support.
Windows has the most complete implementation of it as far as I know.

Dave

Reply via email to