o11s / open80211s

open80211s
Other
242 stars 55 forks source link

Driver side requirements for 80211s #79

Open darkdrgn2k opened 5 years ago

darkdrgn2k commented 5 years ago

Does anyone have any documentation or guidance on how to implement 80211s in the driver? I know that SOFTMAC is a requirement, but what happens after that?

For example there are some mention of mesh point in the driver found here but i wouldn't even know where to start looking for the deficiencies to actually make it work.

bcopeland commented 5 years ago

On Tue, Nov 13, 2018 at 02:07:31PM +0000, darkdrgn2k wrote:

Does anyone have any documentation or guidance on how to implement 80211s in the driver? I know that SOFTMAC is a requirement, but what happens after that?

For example there are some mention of mesh point in the driver found here but i wouldn't even know where to start looking for the deficiencies to actually make it work.

Main thing is being able to send and receive 4-address QoS frames. Many devices can do this because WDS has similar frame formats, and if the hardware only looks at first couple of addresses then they are in a familiar location. If hardware is more advanced and wants to do its own frame encapsulation / decapsulation, then it can have troubles if it doesn't know about the mesh control fields, for example.

You also need to be able to receive "other bss" frames. For managed mode, multicast frames are normally filtered by the bssid you belong to. In mesh mode, there's no similar field on multicast frames, so that kind of filter needs to be disabled in order for mesh paths to form.

After that, being able to adjust tsf is a nice to have for mesh syncing (but not critical), and support for per-sta unicast and group keys are needed for encryption.

That's what I can remember off the top of my head, I probably forgot something.

chunyeow commented 5 years ago

Once you get it run, perhaps can look into whether the driver can report the Tx Rate to have the ALM working as expected.

On Wed, Nov 14, 2018 at 12:17 AM Bob Copeland notifications@github.com wrote:

On Tue, Nov 13, 2018 at 02:07:31PM +0000, darkdrgn2k wrote:

Does anyone have any documentation or guidance on how to implement 80211s in the driver? I know that SOFTMAC is a requirement, but what happens after that?

For example there are some mention of mesh point in the driver found here but i wouldn't even know where to start looking for the deficiencies to actually make it work.

Main thing is being able to send and receive 4-address QoS frames. Many devices can do this because WDS has similar frame formats, and if the hardware only looks at first couple of addresses then they are in a familiar location. If hardware is more advanced and wants to do its own frame encapsulation / decapsulation, then it can have troubles if it doesn't know about the mesh control fields, for example.

You also need to be able to receive "other bss" frames. For managed mode, multicast frames are normally filtered by the bssid you belong to. In mesh mode, there's no similar field on multicast frames, so that kind of filter needs to be disabled in order for mesh paths to form.

After that, being able to adjust tsf is a nice to have for mesh syncing (but not critical), and support for per-sta unicast and group keys are needed for encryption.

That's what I can remember off the top of my head, I probably forgot something.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/o11s/open80211s/issues/79#issuecomment-438327514, or mute the thread https://github.com/notifications/unsubscribe-auth/ABBewuUGGb1HM6AGfkw7gYdnkwsA1_-yks5uuvCMgaJpZM4Ybudw .