Quad ethernet card on AXi starts with identical MAC addresses on 5.2.1R

Marius Strobl marius at alchemy.franken.de
Mon Jul 19 14:13:10 PDT 2004

On Mon, Jul 19, 2004 at 08:11:33PM +0200, Frank Nobis wrote:
> Am 19.07.2004 um 19:26 schrieb Ken Smith:
> > On Mon, Jul 19, 2004 at 07:02:38PM +0200, Ronald Kuehn wrote:
> >>
> >> Yes, unless you set local-mac-address? to true in OBP.
> >>
> >
> > I would be interested in knowing if this works.  I know it works on
> > SUN's running Solaris when it is possible but I just checked the
> > FreeBSD code and unless I made a wrong turn somewhere (which is
> > possible... :-) it won't matter if this is set or not.  The pathway
> > I followed seemed to dig the MAC address out of the ID-PROM no matter
> > what.  In particular hme_pci_attach() seems to call OF_getetheraddr()
> > which in turn seems to blindly dig the MAC address out of the idprom.
> >
> A friend told me Solaris would just add up some numbers to make 
> different MAC addresses.

All hme(4) add-in cards except the single port SBus ones contain a MAC
address for each interface in their FCode. The same seems to be true
for Sun mainboards having more than one onboard network interface.
I don't know for sure about Solaris but I'd expect it to just use these
addresses and not make up its own.

> I just tested with local-mac-address set to true.
> Some as before. Seems the the attach code of the hme driver reads only 
> the MAC from the builtin ethernet and set this to all instances of the 
> hme interfaces. The question is, how difficult it is to simulate the 
> Solaris behavior.

It's not hard to read these addresses via Open Firmware and use them
instead the hostid but it's not so easy to do it in a sane way. The
first way I thought of turned out to result in plain ugly code
(despite working :). I have two other ways in mind but haven't had
time to try them, yet.

More information about the freebsd-sparc64 mailing list