On Tue, Jul 11, 2017 at 03:12:58PM -0000, Christian Weisgerber wrote:
> On 2017-07-11, Florian Obser <flor...@openbsd.org> wrote:
> 
> > +   SHA512Final(digest, &ctx);
> > +
> > +   /* assumes sizeof(digest) > sizeof(ifid) */
> > +   bcopy(digest, &in6->s6_addr[8], 8);
> 
> ... and we're finished here.

yes, forgot to remove this after checking the caller that it does the
right. Fixed in my tree, thanks!

> 
> > +   /* make sure to set "u" bit to local, and "g" bit to individual. */
> > +   in6->s6_addr[8] &= ~EUI64_GBIT; /* g bit to "individual" */
> > +   in6->s6_addr[8] |= EUI64_UBIT;  /* u bit to "local" */
> > +
> > +   /* convert EUI64 into IPv6 interface identifier */
> > +   EUI64_TO_IFID(in6);
> 
> Not according to RFC7217 (page 11):
> 
>    We note that all of the bits in the resulting Interface IDs are
>    treated as "opaque" bits [RFC7136].  For example, the universal/local
>    bit of Modified EUI-64 format identifiers is treated as any other bit
>    of such an identifier.  In theory, this might result in IPv6 address
>    collisions and DAD failures that would otherwise not be encountered.
>    However, this is not deemed as a likely issue because of the
>    following considerations:
> 
> -- 
> Christian "naddy" Weisgerber                          na...@mips.inka.de
> 

-- 
I'm not entirely sure you are real.

Reply via email to