On Sat, 2003-03-15 at 11:38, JINMEI Tatuya / 神明達哉 wrote:
> While the draft says:
>
> If the destination address is site-local, the router will look at
> the interface on which the packet was received to determine the
> site-local zone in which the packet originated, and will perform a
> lookup in the correct site-local forwarding table and forward the
> packet, as indicated.
>
> However, this should also apply to link-local addresses as I said
> above. And, in fact, our implementation adopts a generic forwarding
> routine used for all type of scopes like this:
>
> /* Source scope check. rt_ifp is the outgoing interface for dst */
> in6_addr2zoneid(rt->rt_ifp, &ip6->ip6_src, &zone);
> if (sa6_src.sin6_scope_id != zone) {
> icmp6_error(mcopy, ICMP6_DST_UNREACH,
> ICMP6_DST_UNREACH_BEYONDSCOPE, 0);
> }
>
> /* Destination scope check */
> in6_addr2zoneid(rt->rt_ifp, &ip6->ip6_dst, &zone);
> if (sa6_dst.sin6_scope_id != zone) {
> m_freem(m);
> return;
> }
Exactly. Our implementation does the same thing.
While the text in SCOPARCH is already reasonably clear on this, I think
this is important enough that it would be worthwhile to put the above
code into SCOPARCH in pseudo code format.
MikaL
--------------------------------------------------------------------
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]
--------------------------------------------------------------------