if (hapd->iface->scan_cb)
hapd->iface->scan_cb(hapd->iface);
break;
+#ifdef CONFIG_IEEE80211R
+ wpa_ft_rrb_rx(hapd->wpa_auth, data->ft_rrb_rx.src,
+ data->ft_rrb_rx.data, data->ft_rrb_rx.data_len);
+ break;
+#endif /* CONFIG_IEEE80211R */
default:
wpa_printf(MSG_DEBUG, "Unknown event %d", event);
break;
/**
* EVENT_ASSOC_TIMED_OUT - Association timed out
*/
- EVENT_ASSOC_TIMED_OUT
+ EVENT_ASSOC_TIMED_OUT,
+
+ /**
+ * EVENT_FT_RRB_RX - FT (IEEE 802.11r) RRB frame received
+ */
+ EVENT_FT_RRB_RX
} wpa_event_type;
struct timeout_event {
u8 addr[ETH_ALEN];
} timeout_event;
+
+ /**
+ * struct ft_rrb_rx - Data for EVENT_FT_RRB_RX events
+ */
+ struct ft_rrb_rx {
+ const u8 *src;
+ const u8 *data;
+ size_t data_len;
+ } ft_rrb_rx;
};
/**
#include "common/ieee802_11_defs.h"
#include "../../hostapd/hostapd.h"
-#include "../../hostapd/wpa.h"
struct test_client_socket {
#ifdef CONFIG_IEEE80211R
if (be_to_host16(eth->h_proto) == ETH_P_RRB) {
-#ifdef HOSTAPD
- wpa_ft_rrb_rx(drv->hapd->wpa_auth, eth->h_source,
- data + sizeof(*eth), datalen - sizeof(*eth));
-#endif /* HOSTAPD */
+ union wpa_event_data ev;
+ os_memset(&ev, 0, sizeof(ev));
+ ev.ft_rrb_rx.src = eth->h_source;
+ ev.ft_rrb_rx.data = data + sizeof(*eth);
+ ev.ft_rrb_rx.data_len = datalen - sizeof(*eth);
}
#endif /* CONFIG_IEEE80211R */
}