[Prism54-devel] Re: wireless API semantics when netif down?

Bjørn Mork bjorn@mork.no
Tue, 25 Nov 2003 10:54:26 +0100


Jean Tourrilhes <jt@bougret.hpl.hp.com> writes:

> 	On a related note... The usage of "nameif" and other evoluted
> config scripts (see Debian bugs) requires that the driver report a
> valid MAC address when the card is down. If it's too hard, make it a
> valid MAC address prefix ;-)

Sorry for intruding in the technical discussion, but if I may add my
experiences as a user here:

I've noticed a problem with both the hostap and the prism54 driver wrt
mac address initialization.  Debian's /etc/network/if-pre-up.d/bridge
from the bridge-utils package will do a

for i in $INTERFACES
do
  brctl addif $IFACE $i && ifconfig $i 0.0.0.0 up
done


Notice that the interface is added to the bridge and *then* upped.
This does not work very well when the driver reports a 00:00:00:00:00:00
mac address.  The bridge uses the lowest mac of all interfaces as
bridge id and as mac address for the bridge interface itself.  It will
not update this dynamically when the {hostap,prism54} driver later
changes it's own mac.  The result is that the user is stuck with a bridge
interface with a 00:00:00:00:00:00 address until the interface causing
this is removed from the bridge.  There are workarounds, e.g upping
the interface and wait a second before adding it to the bridge, but
this doesn't fit well into the Debian networking scripts.  I assume
other distribution will pose similar problems.

The best solution would of course be if the driver could report the
real mac address even before the interface is up.  But anything but
00:00:00:00:00:00 would be an improvement.  ff:ff:ff:ff:ff:ff would
probably work around the brigde issue, but might cause other problems
for what I know.



Bjørn