I've upgraded one of my boxes (4.5-RELEASE to FreeBSD 4.6-RELEASE)
and encountered the following problem:

After the upgrade it won't bring one of its two identical interfaces (ed0
and ed1)
up at the boot-time.

The internal one(ed1) was brought up cleanly, the external one(ed0) didn't
get up.
The only difference between them was that i was setting a specific MAC
address on ed0.

My rc.conf line for ed0 was like:

ifconfig_ed0="inet lladdr 01:02:03:04:05:06"

And the ifconfig at the boot time said that it: "can't set link-level
netmask or broadcast".

Changing "lladdr" to "link" or "ether" didn't help, nor did interchanging
the order of
these addresses on the config line.

Now I've found that I still can bring the interface up by executing two
separate ifconfigs like:

ifconfig ed0 lladdr 01:02:03:04:05:06
ifconfig ed0 inet

My current workaround is to set MAC in /etc/rc.early and the IP in rc.conf.

My investigation revealed that this error message was introduced during the
of /src/sbin/ifconfig/ifconfig.c, version, 2002/04/03 by ru. I
suspect that
I've no real intention to set any link level netmask or broadcasts.
Therefore, there must be
an programming error somewhere in ifconfig.c, I even suppose it is in the
setifaddr function,
but I can't say it for sure, because I lack knowledge to understand the code
in whole.

I will make a PR soon, if there're no sudden objections.

Best wishes,
Mike Boev.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to