Subject: Re: Wrap up and last call: sin6_scope_id semantics

From: "Roy Brabson" <[email-masked]>
Date: Thu, 16 Aug 2001 11:01:30 -0400

On Thursday, 08/16/2001 at 03:40 ZE2, Erik Nordmark
<[email-masked]> wrote:
> > So, the basic idea is as follows:
> >
> > - take 4+28 split.
> > - actual mapping from zone to the 28 bit part does not matter, but it
> >   should not change while the node is running (as discussed in this
> >   thread)
> > - introduce "aliases" for numeric zone IDs to improve readability in
> >   the textual representation. e.g. "link2" is an alias of a link ID
> >   whose intra-link id is 2 (i.e. 0x20000002).  "site4" is an alias of
> >   a site ID whose intra-site id is 4 (i.e. 0x50000004).  We now allow
> >   fec0::1234%site4 as well as fec0::1234%1342177284
(1342177284=0x50000004)
> > - when a zone ID is used with an address (typically in the sockaddr_in6
> >   structure), the scope type of the ID must be equal to the scope type
> >   of the address.
>
> Seems like, to the extent that there are existing applications
> which use if_nametoindex() -> sin6_scope_id for link-local addresses,
> we need to also support the top 4 being zero as an alias for the
> interface or link scope.
>
> Does anybody know of such applications?
> Does anybody know of applications doing the reverse (taking sin6_scope_id
> and passing it to if_indextoname())?

This may work when the default link-local zones are used, but how will it
work in the presence of manually-configured link-local zones?  The current
IPv6 Scoped Address Architecture draft allows implementations to configure
multiple links to be in the same link-local zone.  If this is done then
there is no longer a one-to-one correlation between the link-local zone and
the interface ID.

It is probably useful to have a standard (or at least agreed upon) way to
map between the sin6_scope_id and the zone name, something akin to the
if_nametoindex() and if_indextoname() calls for converting an interface
name to an index and vice-versa.  While using the if_nametoindex() and
if_indextoname() calls may work in some cases for link-local addresses (and
maybe not even for link-local if manually configured link-local zones are
used), it won't work for other scopes.  Such an interface would be of use
to a DNS resolver, and I can see other applications perhaps wanting to
perform these types of mappings directly as well.

Roy

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: JINMEI Tatuya / 神明達哉<[email-masked]>
Date: Sat, 18 Aug 2001 21:18:37 +0900

>>>>> On Thu, 16 Aug 2001 11:01:30 -0400, 
>>>>> "Roy Brabson" <[email-masked]> said:

> work in the presence of manually-configured link-local zones?

It simply won't.  We're talking about some existing implementations
that assume a one-to-one mapping between links and interfaces.

> name to an index and vice-versa.

Probably.  But once we define clear semantics, it would not be so
hard.

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba Corp.
					[email-masked]
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------