Ensure WDS is available on combined backhaul and fronthaul APs

It is valid to configure an AP to be both backhaul and
fronthaul (multi_ap=3), so we should not test for a missing
fronthaul flag but instead test directly for backhaul capability.

Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
This commit is contained in:
Stefan Schake 2023-10-18 11:21:38 +02:00 committed by Jouni Malinen
parent 1aeeebaa68
commit cc5a008004
2 changed files with 2 additions and 2 deletions

View file

@ -6471,7 +6471,7 @@ static void handle_assoc_cb(struct hostapd_data *hapd,
/* WPS not supported on backhaul BSS. Disable 4addr mode on fronthaul */
if ((sta->flags & WLAN_STA_WDS) ||
(sta->flags & WLAN_STA_MULTI_AP &&
!(hapd->conf->multi_ap & FRONTHAUL_BSS) &&
(hapd->conf->multi_ap & BACKHAUL_BSS) &&
!(sta->flags & WLAN_STA_WPS))) {
int ret;
char ifname_wds[IFNAMSIZ + 1];

View file

@ -199,7 +199,7 @@ void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
if ((sta->flags & WLAN_STA_WDS) ||
(sta->flags & WLAN_STA_MULTI_AP &&
!(hapd->conf->multi_ap & FRONTHAUL_BSS) &&
(hapd->conf->multi_ap & BACKHAUL_BSS) &&
!(sta->flags & WLAN_STA_WPS)))
hostapd_set_wds_sta(hapd, NULL, sta->addr, sta->aid, 0);