> Currently, bss are sorted by ssid, bssid and frequency. In mesh beacons > and (not yet implemented) mesh probes, the bssid is left zeroed and > there is no ssid (actually there is a 0 length ssid IE), so all mesh > networks in a single channel would collapse to one scan entry. I can add > the mesh IE, but I also need a substitute for those. Ok. I think you'll have to rework the scanning code to not just use SSID, BSSID and frequency to distinguish between networks but also the mesh information (mesh ID/mesh IE). > One option would be to use mesh id as bssid and source address as bssid > (with this we would get a different entry for every mesh peer in rage, > not sure if that's what we want), maybe set the mode to IW_MODE_ADHOC > and add the extra mesh IE. This way we would not need changes in the > wireless extesions layer. Dan said: > Yes. Ideally the driver will report mesh networks too, perhaps with > IW_MODE_MESH or whatever nl80211 would use. As unfortunate as it may be, we can't add it to wext cleanly because iwlist would probably simply segfault if we added a new type since it doesn't verify any input it gets from the kernel and just uses it for an array lookup (thank you Jean!). Or we add a new type and just let all userspace segfault until it's fixed. It's not a kernel bug, after all... We can always include the mesh information in the GENIE element and interested parties have to parse it... however, we can't set the type to anything useful. If we set it to ad-hoc, then tools like network manager might try to use that network for ad-hoc which won't work. It would probably be best to leave out the SIOCGIWMODE info completely and hope that tools that aren't prepared to handle it just ignore that... Ultimately, I guess we're at a point where wext reached the end of its usefulness and we seriously need to look at getting a replacement done. > I am also curious about the interfaces life cycle. Looks like interfaces > report any available network (infra or adhoc), regardless their type. Indeed. > Then a network-manager-like interface would have to bring up an > interface to be able to scan, and the if the user chooses a different > kind of network (if the interface where the scan is performed is infra > but the user chooses an ad-hoc network), change the type of the > interface and the proceed to connect. Am I right? Yeah, it'll even have to set the interface down to be able to change the type. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part