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.