Re: [PATCH 2/6] multiple_bssid: add support for non/transmitting mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2020-06-04 02:15, John Crispin wrote:
Signed-off-by: John Crispin <john@xxxxxxxxxxx>
---
 src/ap/ap_drv_ops.c       |  8 +++++---
 src/ap/ap_drv_ops.h       |  3 ++-
 src/ap/beacon.c           |  4 ++++
 src/ap/hostapd.c          |  9 ++++++++-
 src/common/defs.h         |  7 +++++++
 src/drivers/driver.h      | 10 +++++++++-
 wpa_supplicant/driver_i.h |  2 +-
 7 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
index f15765945..3a46b5745 100644
--- a/src/ap/ap_drv_ops.c
+++ b/src/ap/ap_drv_ops.c
@@ -321,7 +321,7 @@ int hostapd_vlan_if_add(struct hostapd_data *hapd,
const char *ifname)
 	char force_ifname[IFNAMSIZ];
 	u8 if_addr[ETH_ALEN];
 	return hostapd_if_add(hapd, WPA_IF_AP_VLAN, ifname, hapd->own_addr,
-			      NULL, NULL, force_ifname, if_addr, NULL, 0);
+			      NULL, NULL, force_ifname, if_addr, NULL, 0, 0, NULL);
 }


@@ -497,13 +497,15 @@ int hostapd_set_ssid(struct hostapd_data *hapd,
const u8 *buf, size_t len)
int hostapd_if_add(struct hostapd_data *hapd, enum wpa_driver_if_type type,
 		   const char *ifname, const u8 *addr, void *bss_ctx,
 		   void **drv_priv, char *force_ifname, u8 *if_addr,
-		   const char *bridge, int use_existing)
+		   const char *bridge, int use_existing,
+		   int multi_bssid_mode, const char *multi_bssid_parent)
 {
 	if (hapd->driver == NULL || hapd->driver->if_add == NULL)
 		return -1;
 	return hapd->driver->if_add(hapd->drv_priv, type, ifname, addr,
 				    bss_ctx, drv_priv, force_ifname, if_addr,
-				    bridge, use_existing, 1);
+				    bridge, use_existing, 1,
+				    multi_bssid_mode, multi_bssid_parent);
 }


diff --git a/src/ap/ap_drv_ops.h b/src/ap/ap_drv_ops.h
index 5738c1c97..651b77e9a 100644
--- a/src/ap/ap_drv_ops.h
+++ b/src/ap/ap_drv_ops.h
@@ -54,7 +54,8 @@ int hostapd_set_ssid(struct hostapd_data *hapd,
const u8 *buf, size_t len);
int hostapd_if_add(struct hostapd_data *hapd, enum wpa_driver_if_type type,
 		   const char *ifname, const u8 *addr, void *bss_ctx,
 		   void **drv_priv, char *force_ifname, u8 *if_addr,
-		   const char *bridge, int use_existing);
+		   const char *bridge, int use_existin,

typo use_existing.

+		   int multi_bssid_mode, const char *multi_bssid_parent);
int hostapd_if_remove(struct hostapd_data *hapd, enum wpa_driver_if_type type,
 		      const char *ifname);
 int hostapd_set_ieee8021x(struct hostapd_data *hapd,
diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index 22e672c8d..d3453102b 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -1500,6 +1500,10 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
 	params.twt_responder = hostapd_get_he_twt_responder(hapd,
 							    IEEE80211_MODE_AP);
 #endif /* CONFIG_IEEE80211AX */
+        if (hapd->iconf->multiple_bssid) {
+		params.multiple_bssid_index = hostapd_get_bss_index(hapd);

"multiple_bssid: add 2 new helper functions" must be before this patch. no?

+		params.multiple_bssid_count = iface->num_bss;
+	}


 	hapd->reenable_beacon = 0;

 	if (cmode &&
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index b37f49f9a..033593f06 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -1129,6 +1129,13 @@ static int hostapd_setup_bss(struct
hostapd_data *hapd, int first)

 	if (!first || first == -1) {
 		u8 *addr = hapd->own_addr;
+		int multiple_bssid_mode = HOSTAPD_BSSID_LEGACY;
+		const char *multiple_bssid_parent = NULL;
+
+		if (hapd->iconf->multiple_bssid) {
+			multiple_bssid_mode = HOSTAPD_BSSID_NON_TRANSMITTED;
+			multiple_bssid_parent = hapd->iface->bss[0]->conf->iface;
+		}

Don't you have to set HOSTAPD_BSSID_TRANSMITTED in case of first BSS.

-Rajkumar

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux