Lines Matching refs:iface

41 static int hostapd_setup_encryption(char *iface, struct hostapd_data *hapd);
46 int hostapd_reload_config(struct hostapd_iface *iface)
48 struct hostapd_data *hapd = iface->bss[0];
52 if (iface->config_read_cb == NULL)
54 newconf = iface->config_read_cb(iface->config_fname);
62 for (j = 0; j < iface->num_bss; j++)
63 hostapd_flush_old_stations(iface->bss[j]);
74 iface->conf = newconf;
82 hapd->drv.set_drv_ieee8021x(hapd, hapd->conf->iface, 1);
84 hapd->drv.set_drv_ieee8021x(hapd, hapd->conf->iface, 0);
100 hostapd_setup_encryption(hapd->conf->iface, hapd);
116 wpa_printf(MSG_DEBUG, "Reconfigured interface %s", hapd->conf->iface);
153 hostapd_broadcast_key_clear_iface(hapd, hapd->conf->iface);
165 hapd->drv.set_key(hapd->conf->iface,
212 if (hapd->iface->ctrl_iface_deinit)
213 hapd->iface->ctrl_iface_deinit(hapd);
231 hostapd_if_remove(hapd, WPA_IF_AP_BSS, hapd->conf->iface)) {
233 hapd->conf->iface);
243 * @iface: Pointer to interface data
248 static void hostapd_cleanup_iface_pre(struct hostapd_iface *iface)
255 * @iface: Pointer to interface data
260 static void hostapd_cleanup_iface(struct hostapd_iface *iface)
262 hostapd_free_hw_features(iface->hw_features, iface->num_hw_features);
263 iface->hw_features = NULL;
264 os_free(iface->current_rates);
265 iface->current_rates = NULL;
266 ap_list_deinit(iface);
267 hostapd_config_free(iface->conf);
268 iface->conf = NULL;
270 os_free(iface->config_fname);
271 os_free(iface->bss);
272 os_free(iface);
276 static int hostapd_setup_encryption(char *iface, struct hostapd_data *hapd)
289 hapd->drv.set_key(iface, hapd, WPA_ALG_WEP, NULL, i,
337 * @iface: Pointer to interface data
342 static int hostapd_validate_bssid_configuration(struct hostapd_iface *iface)
345 struct hostapd_data *hapd = iface->bss[0];
346 unsigned int i = iface->conf->num_bss, bits = 0, j;
361 for (j = 0; j < iface->conf->num_bss; j++) {
362 if (hostapd_mac_comp_empty(iface->conf->bss[j].bssid) == 0) {
370 iface->conf->bss[j].bssid[i] ^
409 (unsigned long) iface->conf->num_bss, MAC2STR(mask), bits);
486 hapd->iface->bss[0]->own_addr) ==
490 "the radio", hapd->conf->iface);
496 if (hostapd_if_add(hapd->iface->bss[0], WPA_IF_AP_BSS,
497 hapd->conf->iface, hapd->own_addr, hapd,
509 if (hostapd_setup_encryption(hapd->conf->iface, hapd))
544 hapd->conf->iface, MAC2STR(hapd->own_addr),
601 if (hapd->iface->ctrl_iface_init &&
602 hapd->iface->ctrl_iface_init(hapd)) {
618 static void hostapd_tx_queue_params(struct hostapd_iface *iface)
620 struct hostapd_data *hapd = iface->bss[0];
625 p = &iface->conf->tx_queue[i];
640 static int setup_interface(struct hostapd_iface *iface)
642 struct hostapd_data *hapd = iface->bss[0];
650 for (i = 1; i < iface->num_bss; i++) {
651 iface->bss[i]->driver = hapd->driver;
652 iface->bss[i]->drv_priv = hapd->drv_priv;
655 if (hostapd_validate_bssid_configuration(iface))
667 if (hostapd_get_hw_features(iface)) {
671 int ret = hostapd_select_hw_mode(iface);
677 ret = hostapd_check_ht_capab(iface);
686 return hostapd_setup_interface_complete(iface, 0);
690 int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err)
692 struct hostapd_data *hapd = iface->bss[0];
704 iface->freq = hostapd_hw_get_freq(hapd, hapd->iconf->channel);
708 hapd->iconf->channel, iface->freq);
710 if (hostapd_set_freq(hapd, hapd->iconf->hw_mode, iface->freq,
736 for (j = 0; j < iface->num_bss; j++) {
737 hapd = iface->bss[j];
746 hostapd_tx_queue_params(iface);
748 ap_list_init(iface);
757 iface->bss[0]->conf->iface);
765 * @iface: Pointer to interface data.
773 int hostapd_setup_interface(struct hostapd_iface *iface)
777 ret = setup_interface(iface);
780 iface->bss[0]->conf->iface);
814 hapd->iface = hapd_iface;
821 void hostapd_interface_deinit(struct hostapd_iface *iface)
825 if (iface == NULL)
828 hostapd_cleanup_iface_pre(iface);
829 for (j = 0; j < iface->num_bss; j++) {
830 struct hostapd_data *hapd = iface->bss[j];
838 void hostapd_interface_free(struct hostapd_iface *iface)
841 for (j = 0; j < iface->num_bss; j++)
842 os_free(iface->bss[j]);
843 hostapd_cleanup_iface(iface);