macos Sierra with CGA address?
Jeroen Massar
jeroen at massar.ch
Wed Dec 14 13:05:56 CET 2016
On 2016-12-14 12:40, Jeroen Massar wrote:
[..]
>> There is another sysctl parameter (opmode) but unclear what 1 (or 0) means:
>> $ sysctl net.inet6.send
>> net.inet6.send.opstate: 1
>> net.inet6.send.opmode: 1
>
> There is no documentation at all about these things, hence, nothing one
> can say about it, except begging Apple to finally document stuff.
Maybe this is the 'closest' to documentation: the source:
https://github.com/opensource-apple/xnu/blob/27ffc00f33925b582391b1ef318b78b8bd3939d1/bsd/netinet6/nd6_send.c
This is an older dump though.
Not a single mention of a RFC in there, but they are talking about
"SEND" (Not SeND") and there are CGA parameters in there which are not
exposed.
Apparently one needs "#if CONFIG_MACF" which we do not have...
Hence, I can only guess that that code is not active yet, at least in
that ancient version.
Thus lets peek at:
https://opensource.apple.com/tarballs/xnu/xnu-3248.60.10.tar.gz
mmm while I have:
root:xnu-3789.21.3~60/RELEASE_X86_64 x86_64
Thus 500 something behind....
In that tarball, look at bsd/netinet6/
Same file still there. Thus: nothing changed in that timeframe
concerning send.
Though, as various of the dumps show, opmode/state has changed to '1'
somewhere.
Maybe this is thus part of those last 500 changes?
in6.c has:
8<-------------------
if (optdad) {
if ((optdad & ND6_OPTIMISTIC_DAD_LINKLOCAL) &&
IN6_IS_ADDR_LINKLOCAL(&ia->ia_addr.sin6_addr))
flags = IN6_IFF_OPTIMISTIC;
else if ((optdad & ND6_OPTIMISTIC_DAD_AUTOCONF) &&
(ia->ia6_flags & IN6_IFF_AUTOCONF)) {
if (ia->ia6_flags & IN6_IFF_TEMPORARY) {
if (optdad & ND6_OPTIMISTIC_DAD_TEMPORARY)
flags = IN6_IFF_OPTIMISTIC;
} else if (ia->ia6_flags & IN6_IFF_SECURED) {
if (optdad & ND6_OPTIMISTIC_DAD_SECURED)
flags = IN6_IFF_OPTIMISTIC;
} else {
/*
* Keeping the behavior for temp and CGA
* SLAAC addresses to have a knob for
optimistic
* DAD.
* Other than that if
ND6_OPTIMISTIC_DAD_AUTOCONF
* is set, we should default to optimistic
* DAD.
* For now this means SLAAC addresses
with interface
* identifier derived from modified
EUI-64 bit
* identifiers.
*/
flags = IN6_IFF_OPTIMISTIC;
}
------------>8
Which is likely related.... but that was also in the old github edition
already...
Hence, we are still none the wiser here.
Greets,
Jeroen
More information about the ipv6-ops
mailing list