From: gasmibal@gmail.com Date: Sun, 28 Apr 2024 19:47:21 +0000 (+0200) Subject: Multi-AP: Honor wds_sta even with multi_ap X-Git-Tag: hostap_2_11~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93a3c59ad9c40d0e1eaeae1c07373680d5baf535;p=thirdparty%2Fhostap.git Multi-AP: Honor wds_sta even with multi_ap When multi_ap is active, hostapd creates an AP-VLAN interface for 4addr stations, even though wds_sta is not configured. A check should be added to determine if wds_sta is active before re-enabling the WDS mode by creating an AP-VLAN for 4addr stations. Signed-off-by: Baligh Gasmi --- diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index efcc27a50..6c516bc8a 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -6647,6 +6647,7 @@ static void handle_assoc_cb(struct hostapd_data *hapd, if ((sta->flags & WLAN_STA_WDS) || (sta->flags & WLAN_STA_MULTI_AP && (hapd->conf->multi_ap & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) { int ret; char ifname_wds[IFNAMSIZ + 1]; diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c index 24ba86b11..13613dbab 100644 --- a/src/ap/sta_info.c +++ b/src/ap/sta_info.c @@ -235,6 +235,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 & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) hostapd_set_wds_sta(hapd, NULL, sta->addr, sta->aid, 0);