Uze, the IPv6 zone ID concept is explained in RFC 4007,
and is what sin6_scope_id holds in a SOCKADDR_IN6.  (Again, sin6_scope_id is 
not necessarily
an ifindex and if any code assumes it is, across all OS's, then that code is 
broken.)

But I think we're agreeing that for this discussion, ifindex is largely 
irrelevant and we should
just be discussing zone id (aka scope id in the sockets api).

> -----Original Message-----
> From: ???(Uze Choi) [mailto:uzchoi at samsung.com]
> Sent: Tuesday, July 26, 2016 9:37 PM
> To: Dave Thaler <dthaler at microsoft.com>; 'Thiago Macieira'
> <thiago.macieira at intel.com>
> Cc: iotivity-dev at lists.iotivity.org
> Subject: RE: [dev] OcResource->getHost() api gives a tricky host address in
> Android
> 
> I'm not familiar with IPv6 zone ID concept well.
> According to Dave comment, Handling interface index also looks overhead, I
> think.
> Because Addr of Remote Resource Object is for unicast communication only
> in the IoTivity or OCF.
> 
> BR, Uze Choi
> -----Original Message-----
> From: Dave Thaler [mailto:dthaler at microsoft.com]
> Sent: Wednesday, July 27, 2016 11:35 AM
> To: Thiago Macieira
> Cc: ???(Uze Choi); iotivity-dev at lists.iotivity.org
> Subject: RE: [dev] OcResource->getHost() api gives a tricky host address in
> Android
> 
> Interface indexes are more precise (i.e. constrained) than zone ids.
> That is, a zone id may identify a set of equivalent interfaces, whereas an
> ifindex identifies exactly one.
> A zone id is sufficient to uniquely identify an address.
> If you want to constrain which interface among an equivalent set, then you
> need an ifindex.
> For most purposes zoneid is what you want.
> Ifindex is generally only used when doing multicast, since the multicast APIs
> allow apps to specify which interface to join/send on.
> 
> > -----Original Message-----
> > From: Thiago Macieira [mailto:thiago.macieira at intel.com]
> > Sent: Tuesday, July 26, 2016 7:19 PM
> > To: Dave Thaler <dthaler at microsoft.com>
> > Cc: ???(Uze Choi) <uzchoi at samsung.com>;
> > iotivity-dev at lists.iotivity.org
> > Subject: Re: [dev] OcResource->getHost() api gives a tricky host
> > address in Android
> >
> > On quarta-feira, 27 de julho de 2016 02:00:35 PDT Dave Thaler wrote:
> > > BTW, the ZoneID is *not* an ifindex, it is a zone id.  (See RFC
> > > 4007.) On some platforms, the zone id of a link local address might
> > > happen to be an ifindex, but any code that blindly assumes for all
> > > OS's is inherently broken.
> >
> > True, but that can mean one of two things, mutually exclusive:
> >
> > a) an ifindex suffices to uniquely identify the interface/link that
> > the packet should be sent on and replies are expected to come in from,
> > in which case all we need is a way to convert any extra information
> > that may appear on the ZoneID to that ifindex. It may be an interface
> > name (if_nametoindex) or the interface's link-local address, its UUID,
> whatever.
> >
> > or
> >
> > b) an ifindex does not suffice, in which case we need to review our
> > API and internals, which relies extensively on ifindex. The front-end
> > API should accept something that is larger than a simple 32-bit integer.
> >
> > Either way, it seems to me that ZoneIDs are superior than interface
> indexes.
> >
> > --
> > Thiago Macieira - thiago.macieira (AT) intel.com
> >   Software Architect - Intel Open Source Technology Center
> 

Reply via email to