Subject: Re: [PATCH 1/4] [IPv6] Add link and site-local scope inline

From: Brian Haley <[email-masked]>
Date: Fri, 06 Apr 2007 02:37:52 -0400

YOSHIFUJI Hideaki / ???? wrote:
> In article <[email-masked]> (at Thu, 05 Apr 2007 23:21:05 -0400), Brian Haley <[email-masked]> says:
> 
>> Add link and site-local scope inline to avoid calls to ipv6_addr_type().
>>
> 
> I disagree.  Multicast scopes should also be handled appropriately.

Yes, I totally missed that 
ipv6_addr_scope2type(IPV6_ADDR_MC_SCOPE(addr)) in __ipv6_addr_type(), so 
the linklocal inline probably isn't worth it since it would have to be 
something like:

static inline int ipv6_addr_scope_linklocal(const struct in6_addr *a)
{
return ((a->s6_addr32[0] & htonl(0xFFC00000)) == htonl(0xFE800000) ||
         ((a->s6_addr32[0] & htonl(0xFF000000)) == htonl(0xFF000000) &&
          ((a)->s6_addr[1] & 0x0f) == IPV6_ADDR_SCOPE_LINKLOCAL)))
}

That's not that clean an inline anymore, but still doable...

I'll clean-up the rest based on your comments and re-send.

-Brian