o11s / open80211s

open80211s
Other
242 stars 55 forks source link

Mesh synchronization should also track neighbors outside the MBSS #10

Open jcard0na opened 12 years ago

jcard0na commented 12 years ago

Currently o11s only keeps track of stations that are in the same MBSS, and by that we mean neighbors with the same mesh profile¹. These stations can be peers (state == ESTAB) or non-peers (state != ESTAB). Keeping track of non-MBSS stations for the purpose of offset tracking would be relatively simple, but a minimal implementation would create usability/support problems for current users of o11s and would probably be rejected upstream.

The reason is that with the in the most straightforward implementation, non-MBSS neighbors would now show up in 'iw mpath dump'. Users who are familiar with the current interface, would not know why there are new peers showing up in the list. They would also wonder why links are not established, etc.

The way to avoid this problem is to revamp the output of iw station dump entirely. We would need an extra option to activate this new output:

iw mesh0 station dump [-a]

Without the -a option, users would only see the MBSS neighbors, as they do now. When the '-a' option is set, iw would show all, MBSS and non-MBSS neighbors. Also, the non-MBSS neighbors would have to be identifiable in the iw output so that users can differentiate tell them apart: Mesh ID, synchronization algorithm, etc. and other information that is not currently available to iw. This change entails modifying the nl80211 interface, cfg80211, iw and o11s.

[1] Mesh profile is defined in section 13.2.3