My first reaction is I think your suggestions (reproduced below) are logical
& consistent, but I do worry about one thing. If I understand correctly,
you're saying that a user could say
        ping6 fec0::1%3
where 3 could be an interface index. On a multi-sited node, this would say
"I mean fec0::1 in the site that interface 3 belongs to". But it would not
constrain the packet to actually being sent out interface 3. It could be
sent via any interface belonging to the same site as interface 3. My worry
is that this would be rather confusing & nonintuitive for users.

Rich

> This leads to the following suggestions:
> 
>   - a non-zero sin6_scope_id value used when bind()ing a socket or
>     sending a packet is used only to identify the relevant zone of the
>     source or destination address, and *not* to identify a particular
>     interface for sending or receiving, even if the 
> sin6_scope_id happens
>     to be an interface index.  I.e., the use of an interface 
> index would
>     not be interpreted as (over) specifying the choice of outgoing
>     interface.  Of course, it would be  cleaner to just use 
> zone indices,
>     not interface indices, for sin6_scope_id, but backwards 
> compatibility
>     with existing implementations might argue for allowing either.
> 
>   - the sin6_scope_id value returned in a sockaddr_in6 when receiving
>     a packet is interpreted only as identifying the zone of the source
>     address, not as the specific interface on which the 
> packet arrived.
>     Again, it would be cleanest if only zone indices were used, but
>     interface indices could be "tolerated" for backwards-compatibility
>     reasons.
> 
>   - to constrain an outgoing packet to a specific interface 
> or a set of
>     interfaces smaller than the set belonging to the destination
>     address's zone, you would specify an interface index or a 
> zone index
>     in the in6_pktinfo structure of the advanced API.  For multicast
>     packets, you could alternatively use IPV6_MULTICAST_IF.
> 
>   - to determine the specific arrival interface of a packet, you would
>     use the in6_pktinfo structure of the advanced API.
> 
>   - when joining a multicast group, you would use IPV6_JOIN_GROUP with
>     either an interface index, a zone index, or zero (unspecified).
--------------------------------------------------------------------
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 PROTECTED]
--------------------------------------------------------------------

Reply via email to