Page MenuHomeFreeBSD

kern: ether_gen_addr: randomize on default hostuuid, too
ClosedPublic

Authored by kevans on Apr 16 2021, 1:16 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 25, 8:13 PM
Unknown Object (File)
Thu, Oct 24, 11:10 AM
Unknown Object (File)
Thu, Oct 24, 11:10 AM
Unknown Object (File)
Thu, Oct 24, 11:10 AM
Unknown Object (File)
Thu, Oct 24, 10:51 AM
Unknown Object (File)
Sep 27 2024, 4:30 AM
Unknown Object (File)
Sep 27 2024, 4:28 AM
Unknown Object (File)
Sep 24 2024, 8:51 AM

Details

Summary

Currently, this will still hash the default (all zero) hostuuid and
potentially arrive at a MAC address that has a high chance of collision
if another interface of the same name appears in the same broadcast
domain on another host without a hostuuid, e.g., some virtual machine
setups.

Instead of using the default hostuuid, just treat it as a failure and
generate a random LA unicast MAC address.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38613
Build 35502: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Apr 16 2021, 1:27 AM
donner added inline comments.
sys/net/if_ethersubr.c
1480
return;
gbe added a subscriber: gbe.

LGTM from manpages.

bz added a subscriber: bz.

Don't forget to bump .Dd on the man page when committing.

In D29788#668512, @bz wrote:

Don't forget to bump .Dd on the man page when committing.

You took the words right out of my mouth. :)

sys/net/if_ethersubr.c
1476

Maybe it's worth having this logic as a separate function instead of the goto block?

sys/net/if_ethersubr.c
1476

I'd tend to prefer not... this is really just a failure path, and we shouldn't expose a "random mac address" KPI since we're somewhat trying to reduce the # LA addresses we're randomly generating.

LGTM still will you push it?

Yeah, sorry; $life interfered, but I'll round up some time ~tonight