how is the MAC for tap(4) computed?

Dan Nelson dnelson at allantgroup.com
Mon Nov 4 17:10:03 UTC 2013


In the last episode (Nov 04), Aryeh Friedman said:
> There seems to be a very high rate of MAC address collisions when tap is
> running on different machines....  is there anyway to make the selection
> of MAC more random

It looks like it's generated based on the number of ticks since boot, plus
the unit number of the tap device:

http://fxr.watson.org/fxr/source/net/if_tap.c#L434

So if you have devices created on boot on a bunch of machines, chances are
high that you'll get conflicts.  Maybe instead of using the 'ticks' value,
kern.hostid could be used instead?  That has much better randomness than
'ticks'.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-virtualization mailing list