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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox