Browse Source

Add Interworking configuration in set_ap() driver_ops

Drivers that implement SME/MLME may find it easier to use separated
information to configure Interworking related parameters.
Jouni Malinen 13 years ago
parent
commit
8a33a63f58
2 changed files with 14 additions and 0 deletions
  1. 4 0
      src/ap/beacon.c
  2. 10 0
      src/drivers/driver.h

+ 4 - 0
src/ap/beacon.c

@@ -573,6 +573,10 @@ void ieee802_11_set_beacon(struct hostapd_data *hapd)
 	else
 		params.ht_opmode = hapd->iface->ht_op_mode;
 #endif /* NEED_AP_MLME */
+	params.interworking = hapd->conf->interworking;
+	if (hapd->conf->interworking &&
+	    !is_zero_ether_addr(hapd->conf->hessid))
+		params.hessid = hapd->conf->hessid;
 	if (hostapd_drv_set_ap(hapd, &params))
 		wpa_printf(MSG_ERROR, "Failed to set beacon parameters");
 	hostapd_free_ap_extra_ies(hapd, beacon, proberesp, assocresp);

+ 10 - 0
src/drivers/driver.h

@@ -650,6 +650,16 @@ struct wpa_driver_ap_params {
 	 * ht_opmode - HT operation mode or -1 if HT not in use
 	 */
 	int ht_opmode;
+
+	/**
+	 * interworking - Whether Interworking is enabled
+	 */
+	int interworking;
+
+	/**
+	 * hessid - Homogeneous ESS identifier or %NULL if not set
+	 */
+	const u8 *hessid;
 };
 
 /**