Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Nov 2013 16:08:33 -0500
From:      "illoai@gmail.com" <illoai@gmail.com>
To:        Dan Nelson <dnelson@allantgroup.com>
Cc:        FreeBSD Stable List <freebsd-stable@freebsd.org>, Aryeh Friedman <aryeh.friedman@gmail.com>, "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org>
Subject:   Re: how is the MAC for tap(4) computed?
Message-ID:  <CAHHBGkpwWSbRxPxhvGwwzTB5SU-dNi9PfeCuOBUB82thspHEtQ@mail.gmail.com>
In-Reply-To: <20131104170955.GH63947@dan.emsphone.com>
References:  <CAGBxaXn27u3J6iJBoDkW_R2=_kcHzSBU=d0v5eDUvnoAsucSjw@mail.gmail.com> <20131104170955.GH63947@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4 November 2013 12:09, Dan Nelson <dnelson@allantgroup.com> wrote:
> 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'.

With physical interfaces you can use something like
ifconfig ath0 ether 00:2d:44:88:ff:00
(assuming the device & the driver support changing MAC
addresses)

I've never tried it with a virtual interface, but it should work if the
device supports it.

-- 
--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHHBGkpwWSbRxPxhvGwwzTB5SU-dNi9PfeCuOBUB82thspHEtQ>