From: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Gabriel C <nix.or.die@googlemail.com>,
Sasa Ostrouska <casaxa@gmail.com>,
Avuton Olrich <avuton@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: forcedeth ?
Date: Fri, 03 Aug 2007 18:04:11 +0200 [thread overview]
Message-ID: <46B351FB.1000507@gmx.net> (raw)
In-Reply-To: <3ae72650708020433u2f423862t973dff85f85870a0@mail.gmail.com>
On 02.08.2007 13:33, Kay Sievers wrote:
> On 7/31/07, Kay Sievers <kay.sievers@vrfy.org> wrote:
>> On 7/31/07, Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> wrote:
>>> On 31.07.2007 00:17, Gabriel C wrote:
>>>> Sasa Ostrouska wrote:
>>>>
>>>>> Gabriel, hmm, shouldnt udev be able to autoconfigure that ? But I need
>>>>> to check that, thx for the tip.
>>>> Yes udev does this based on the MAC address but AFAIK forcedeth is 'special' for some reason
>>>> ( which I can really remember now and gets on each boot a new MAC address or alike )
>>> Ah yes, that's a workaround for certain buggy boards to make sure you're
>>> not left without networking even if the MAC address stored on the board
>>> is bogus.
>>>
>>> Basically, forcedeth checks if the MAC address supplied by your
>>> mainboard is bogus and autogenerates a random MAC address from a private
>>> range (prefix 00:00:6c) as workaround. However, it will complain loudly
>>> if it has to do that.
>>>
>>> Quoting from forcedeth.c:
>>>> if (!is_valid_ether_addr(dev->perm_addr)) {
>>>> /*
>>>> * Bad mac address. At least one bios sets the mac address
>>>> * to 01:23:45:67:89:ab
>>>> */
>>>> printk(KERN_ERR "%s: Invalid Mac address detected: %02x:%02x:%02x:%02x:%02x:%02x\n",
>>>> pci_name(pci_dev),
>>>> dev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2],
>>>> dev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]);
>>>> printk(KERN_ERR "Please complain to your hardware vendor. Switching to a random MAC.\n");
>>>> dev->dev_addr[0] = 0x00;
>>>> dev->dev_addr[1] = 0x00;
>>>> dev->dev_addr[2] = 0x6c;
>>>> get_random_bytes(&dev->dev_addr[3], 3);
>>>> }
>>> Sometimes it helps to update the BIOS and/or set the MAC address which
>>> is printed on the board as MAC address in the BIOS.
>> In any case, it would be nice if the network core could add something like:
>> MAC_ORIGIN=device
>> MAC_ORIGIN=user
>> MAC_ORIGIN=random
>> or whatever makes sense here, to the uevent environment. So userspace
>> can handle according to that, like falling back using the
>> bus-slot-number to lookup the persistent name, or whatever is
>> appropriate.
>
> Can't we use the "locally administered" bit in the MAC address? By
> checking for ENV{address}=="?[2367abef]:*", we would skip the
> persistent rule generation based on the MAC address?
Yes and no. Theoretically, that would work. However, there are two
problems with your rule specification:
- ENV{address}=="?[13579bdf]:*" are multicast addresses, so you wouldn't
want them tobe part of a network card MAC address at all.
- http://standards.ieee.org/regauth/oui/oui.txt tells us that the
following OIDs would be excluded by your rule:
02-07-01 (hex) RACAL-DATACOM
02-1C-7C (hex) PERQ SYSTEMS CORPORATION
02-60-86 (hex) LOGIC REPLACEMENT TECH. LTD.
02-60-8C (hex) 3COM CORPORATION
02-70-01 (hex) RACAL-DATACOM
02-70-B0 (hex) M/A-COM INC. COMPANIES
02-70-B3 (hex) DATA RECALL LTD
02-9D-8E (hex) CARDIAC RECORDERS INC.
02-AA-3C (hex) OLIVETTI TELECOMM SPA (OLTECO)
02-BB-01 (hex) OCTOTHORPE CORP.
02-C0-8C (hex) 3COM CORPORATION
02-CF-1C (hex) COMMUNICATION MACHINERY CORP.
02-E6-D3 (hex) NIXDORF COMPUTER CORPORATION
AA-00-00 (hex) DIGITAL EQUIPMENT CORPORATION
AA-00-01 (hex) DIGITAL EQUIPMENT CORPORATION
AA-00-02 (hex) DIGITAL EQUIPMENT CORPORATION
AA-00-03 (hex) DIGITAL EQUIPMENT CORPORATION
AA-00-04 (hex) DIGITAL EQUIPMENT CORPORATION
Since it seems that real OIDs conflict with the "locally adminstered"
bit of the MAC address, I don't see a way to use the MAC address as
indicator for persistent rule eligibility.
Regards,
Carl-Daniel
next prev parent reply other threads:[~2007-08-03 16:03 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-30 20:01 forcedeth ? Sasa Ostrouska
2007-07-30 20:37 ` Avuton Olrich
2007-07-30 21:26 ` Sasa Ostrouska
2007-07-30 22:03 ` Gabriel C
2007-07-30 22:10 ` Sasa Ostrouska
2007-07-30 22:17 ` Gabriel C
2007-07-31 0:27 ` Krzysztof Halasa
2007-07-31 1:36 ` Carl-Daniel Hailfinger
2007-07-31 1:52 ` Kay Sievers
2007-08-02 11:33 ` Kay Sievers
2007-08-03 16:04 ` Carl-Daniel Hailfinger [this message]
2007-07-30 22:22 ` Kay Sievers
2007-07-30 22:19 ` Gabriel C
2007-07-30 22:40 ` Kay Sievers
2007-07-30 23:10 ` Sasa Ostrouska
2007-07-30 23:36 ` Kay Sievers
2007-07-30 22:24 ` david
2007-07-30 22:32 ` Kay Sievers
2007-07-30 22:00 ` Gabriel C
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46B351FB.1000507@gmx.net \
--to=c-d.hailfinger.devel.2006@gmx.net \
--cc=avuton@gmail.com \
--cc=casaxa@gmail.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nix.or.die@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.