From: Christer Weinigel <christer@weinigel.se>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: David Miller <davem@davemloft.net>,
s.hauer@pengutronix.de, yanok@emcraft.com,
linux-arm-kernel@lists.arm.linux.org.uk, netdev@vger.kernel.org,
wd@denx.de, dzu@denx.de
Subject: Re: [PATCH] dnet: Dave DNET ethernet controller driver
Date: Thu, 12 Mar 2009 11:41:24 +0100 [thread overview]
Message-ID: <49B8E6D4.2030702@weinigel.se> (raw)
In-Reply-To: <20090311171354.04c7a63d@nehalam>
Stephen Hemminger wrote:
> On Wed, 11 Mar 2009 21:56:06 +0100
> Christer Weinigel <christer@weinigel.se> wrote:
>> It's still a pain to have to do this. Many embedded systems that I have
>> seen have a bootloader which I can't modify to do that, but the
>> bootloader allows me to save the kernel command line into some kind of
>> volatile storage. Så being able to set the MAC address with a:
>>
>> setenv cmdline foo.hwaddr=00:de:ad:be:ef:ed
>>
>> is very nice because it allows me to use a NFS root without having to
>> jump through hoops with initrds an such.
>>
>> Actually, I wish we had a generic way of doing that, so that could set
>> the mac address of any ethernet interface from the kernel command in a
>> nice and supported way.
>
> The problem is that usually users end up with all devices with the
> same address, unless there is some other procedure to hand out addresses
> during configuration. That is why the random_ether_addr is safer.
Random mac addresses, yuk! :-) I'd much rather have something that I
can make "do the right thing" than something I can't. And as I said,
what I've encountered many times is a reference board from some
manufacturer where the following conditions are present:
1. The bootloader can pass a command line to the kernel and it is saved
in non-volatile storage that can be changed from the bootloader
2. I can not modify the bootloader
3. I can modify the Linux kernel
4. The manufacturer has hardcoded a MAC address in the ethernet driver
5. I want to use NFS root to make it easy to develop on the platform
6. We get a second board so the hardcoded MAC addresses collide
In this situation I usually hack a hwaddr module param into the ethernet
driver, so that I can actually make the devices have different, but
stable, MAC addresses. The alternatives are to hardcode the MAC address
into the kernel and run different kernels on different boards, or to
create an initrd with a tools that parses the kernel command line to
extract the MAC address and then do ifconfig eth0 hwaddr $HWADDR, and
then add a DCHP client which gets the NFS root from the DCHP response
and finally mounts the NFS root and switches too it. But I'm lazy so as
I said usually just hack the driver.
/Christer
next prev parent reply other threads:[~2009-03-12 10:41 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-11 2:29 [PATCH] dnet: Dave DNET ethernet controller driver Ilya Yanok
2009-03-11 4:00 ` Eric Dumazet
2009-03-11 23:33 ` [PATCH] dnet: Dave DNET ethernet controller driver (updated) Ilya Yanok
2009-03-12 6:29 ` David Miller
2009-03-11 4:18 ` [PATCH] dnet: Dave DNET ethernet controller driver Stephen Hemminger
2009-03-11 8:44 ` Sascha Hauer
2009-03-11 8:49 ` David Miller
2009-03-11 8:57 ` Sascha Hauer
2009-03-11 9:09 ` Wolfgang Denk
2009-03-11 10:35 ` Sascha Hauer
2009-03-11 13:23 ` David Miller
2009-03-11 14:00 ` Dan Williams
2009-03-11 18:23 ` Robert Schwebel
2009-03-11 19:15 ` Riku Voipio
2009-03-12 0:44 ` David Miller
2009-03-11 20:56 ` Christer Weinigel
2009-03-11 21:33 ` Russell King - ARM Linux
2009-03-12 0:13 ` Stephen Hemminger
2009-03-12 10:41 ` Christer Weinigel [this message]
2009-03-12 12:55 ` David Miller
2009-03-12 14:21 ` Christer Weinigel
2009-03-12 14:34 ` Sascha Hauer
2009-03-12 15:01 ` David Miller
2009-03-12 15:12 ` Neil Horman
2009-03-12 16:25 ` Christer Weinigel
2009-03-12 17:43 ` David Miller
2009-03-12 17:52 ` Christer Weinigel
2009-03-12 18:06 ` Jamie Lokier
2009-03-12 18:39 ` Dan Williams
2009-03-12 18:48 ` Christer Weinigel
2009-03-12 19:04 ` Sascha Hauer
2009-03-12 19:15 ` Jamie Lokier
2009-03-12 19:16 ` Neil Horman
2009-03-12 19:21 ` Christer Weinigel
2009-03-12 20:14 ` Wolfgang Denk
2009-03-12 20:27 ` Sascha Hauer
2009-03-12 20:35 ` Russell King - ARM Linux
2009-03-12 17:49 ` Neil Horman
2009-03-12 18:25 ` Christer Weinigel
2009-03-12 19:05 ` Neil Horman
2009-03-12 19:14 ` Sascha Hauer
2009-03-12 19:29 ` Christer Weinigel
2009-03-12 21:59 ` Jamie Lokier
2009-03-12 23:42 ` Christer Weinigel
2009-03-13 0:21 ` Neil Horman
2009-03-13 1:29 ` Christer Weinigel
2009-03-13 10:30 ` Neil Horman
2009-03-13 0:16 ` Neil Horman
2009-03-12 19:25 ` Jamie Lokier
2009-03-12 19:43 ` Christer Weinigel
2009-03-12 20:24 ` Mike (mwester)
2009-03-13 0:29 ` Neil Horman
2009-03-12 13:41 ` Michael Cashwell
2009-03-12 14:05 ` David Miller
2009-03-12 14:26 ` Neil Horman
2009-03-12 18:02 ` Jamie Lokier
2009-03-13 19:49 ` Robert Schwebel
2009-03-13 20:12 ` David Miller
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=49B8E6D4.2030702@weinigel.se \
--to=christer@weinigel.se \
--cc=davem@davemloft.net \
--cc=dzu@denx.de \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shemminger@vyatta.com \
--cc=wd@denx.de \
--cc=yanok@emcraft.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;
as well as URLs for NNTP newsgroup(s).