tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Is 00:00:00:00:00:00 special?
>> Is the all-zero MAC address special? [...]
[Lloyd Parkes]
> I can't see why an all 0 MAC would be invalid. The OUI 00-00-00 is
> valid and owned by Xerox.
> Maybe something in the EUI64 generation code looks at the all zero
> MAC and takes that as an in in-band error value?
That was my first guess, but I think not in this case.
> I think maybe this line
> https://nxr.netbsd.org/xref/src/sys/netinet6/in6_ifattach.c#228
Good catch, but nothing like that code is present in the kernel I
booted when I saw this.
I've since looked at the code and it looks inconsistent: it looks as
though the interface doesn't have any link-layer addresses, which
strikes me as impossible, especially in view of it working for v4. I
really should dig into it a bit more to figure out what's going on; I
keep tripping over little-used code paths due to hardware oddities.
(The previous one was a disk that reported itself as having a sector
size of zero, which provoked a panic in one of my test boots. Not
exactly a code path that gets heavy use.)
[Greg Troxel]
> While I think you are reasonably likely technically correct, it also
> seems obvious that when encountering an all-0 mac, the odds that the
> encounter is due to an error are much higher than it being correct.
Agreed. Once I got a work machine to show that URL me, I see a comment
above it which seems to be saying, more or less, that that's why that
test is there.
[Michael Richardson, quoting Lloyd Parkes]
>> I think maybe this line
>> https://nxr.netbsd.org/xref/src/sys/netinet6/in6_ifattach.c#228
> That seems like the culprit.
Yes, except (as I remarked above) it's not actually present in the
kernel in question.
> I was thinking that when generating some v6-LL that it wound up
> creating something that was multicast, and thus it wound up hearing
> [its] own DAD.
Maybe, except it's actually EUI64 generation that's failing, not
setting addresses (whether based on the EUI64 or not).
I don't expect people to remember details of old code; that's why I
tried to keep my initial report generic and asking only whether the
all-0 MAC were special, to which the answer seems to be "no, de jure,
but yes, pragmatically".
I should experiment more. The condition seems to be fairly easily
reproducible, which should make experiments easy.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index