Add driver capa flag for EAPOL TX status and store capa in hostapd

This commit is contained in:
Jouni Malinen 2011-03-29 17:36:06 +03:00 committed by Jouni Malinen
parent b67d0d9e4b
commit 2fee890af7
4 changed files with 12 additions and 5 deletions

View file

@ -184,6 +184,7 @@ struct hostapd_iface {
struct ap_info *ap_hash[STA_HASH_SIZE];
struct ap_info *ap_iter_list;
unsigned int drv_flags;
struct hostapd_hw_modes *hw_features;
int num_hw_features;
struct hostapd_hw_modes *current_mode;

View file

@ -561,6 +561,8 @@ struct wpa_driver_capa {
#define WPA_DRIVER_FLAGS_SANE_ERROR_CODES 0x00004000
/* Driver supports off-channel TX */
#define WPA_DRIVER_FLAGS_OFFCHANNEL_TX 0x00008000
/* Driver indicates TX status events for EAPOL Data frames */
#define WPA_DRIVER_FLAGS_EAPOL_TX_STATUS 0x00010000
unsigned int flags;
int max_scan_ssids;

View file

@ -1493,7 +1493,6 @@ nla_put_failure:
}
#ifndef HOSTAPD
struct wiphy_info_data {
int max_scan_ssids;
int ap_supported;
@ -1634,11 +1633,11 @@ static int wpa_driver_nl80211_capa(struct wpa_driver_nl80211_data *drv)
drv->capa.flags |= WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE;
if (info.p2p_supported)
drv->capa.flags |= WPA_DRIVER_FLAGS_P2P_CAPABLE;
drv->capa.flags |= WPA_DRIVER_FLAGS_EAPOL_TX_STATUS;
drv->capa.max_remain_on_chan = info.max_remain_on_chan;
return 0;
}
#endif /* HOSTAPD */
static int wpa_driver_nl80211_init_nl(struct wpa_driver_nl80211_data *drv)
@ -2034,13 +2033,13 @@ wpa_driver_nl80211_finish_drv_init(struct wpa_driver_nl80211_data *drv)
}
}
if (wpa_driver_nl80211_capa(drv))
return -1;
netlink_send_oper_ifla(drv->netlink, drv->ifindex,
1, IF_OPER_DORMANT);
#endif /* HOSTAPD */
if (wpa_driver_nl80211_capa(drv))
return -1;
if (linux_get_ifhwaddr(drv->ioctl_sock, bss->ifname, drv->addr))
return -1;