Issues with new D-Bus API
Thu Dec 31 02:44:37 PST 2009
> > > Well, Dbus interface is just frontend. We can't expose variables which
> > > are not available from wpa_supplicant (i.e. we can't get properties
> > > values directly from driver). The other issue is that wpa_supplicant is
> > > supposed to work with other drivers than nl80211.
> > We might need to extend wpa_supplicant a bit. And if index != -1 then we
> > can use it. Otherwise we won't. So it will be a Linux specific thing,
> > but that is fine with me.
> The ifname parameter is an identifier for the network device. It doesn't
> need to be the interface name as a string, i.e., we could reserve
> something like "ifindex:<ifindex>" as an identifier to indicate that the
> value is indicating an ifindex instead of ifname and then just make
> driver_nl80211.c handle this special case. This is similar to what is
> already done in driver_ndis.c.
We could just hide this from the D-Bus API by providing Ifname and
Ifindex and then internally transform ifname = ifindex:<ifindex>.
This is not really important, but would save clients that only operate
with ifindex some tracking effort.
> However, please keep in mind that while ifindex may be unique identifier
> for the interface, it does have some potential issue like the case of
> interface getting removed on suspend and returned on resume when it gets
> a new ifindex. Similarly, unplugging and replugging a USB dongle would
> result in a new ifindex. Currently, wpa_supplicant is able to handle
> just cases of the interface disappearing and reappearing under the same
> ifname (but different ifindex). If the driver wrapper were to be bound
> to the ifindex, this kind of functionality would need new code somewhere
> to remove the wpa_supplicant interface and add a new one with the new
If see potential issues in this behavior. An interface name could
reappear, but have total different capabilities. So we do need the
interface removed and interface added signals here to clearly
I have to do some more testing on this subject and see how well this
actually gets handled.
More information about the Hostap