Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hostap: Add support for multiple interfaces in WPA supplicant #80

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

hanan619
Copy link

@hanan619 hanan619 commented Mar 4, 2025

Description:

The current WPA supplicant implementation in Zephyr does not support multiple interfaces because it uses a single global control channel for interface communication. Since each interface (wpa_s instance) operates independently, this limitation prevents proper handling of multiple virtual interfaces (VIFs).

With this change, each virtual interface can now communicate with the control layer independently, allowing the coexistence of multiple VIFs.

Testing:

  • Verified that each interface maintains its own control connection.
  • Tested WPA supplicant with two virtual interfaces in Zephyr, ensuring that AP and STA modes can operate simultaneously without conflicts.
  • Confirmed that control commands and events are correctly routed to their respective interfaces.

Dependencies:

This change is part of a broader effort to enable multi-VIF support in the nRF7002 driver. A corresponding PR in the Zephyr repository will introduce driver-level changes to utilize this functionality.

Description:
The current WPA supplicant implementation in Zephyr does not support
multiple interfaces because it uses a single global control channel for
interface communication. Since each interface (wpa_s instance) operates
independently, this limitation prevents proper handling of multiple
virtual interfaces (VIFs).

This commit modifies WPA supplicant to support multiple interfaces by:

* Removing the single global control channel.
* Introducing a new ctrl_conn member in the wpa_s structure.
* Assigning a separate ctrl_conn for each interface instance, enabling
independent communication between WPA supplicant and Zephyr’s
network layer.
With this change, each virtual interface can now communicate with the
control layer independently, allowing the coexistence of multiple VIFs.

Signed-off-by: Hanan Arshad <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant