diff options
Diffstat (limited to 'src/drivers/driver_nl80211_event.c')
-rw-r--r-- | src/drivers/driver_nl80211_event.c | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c index 17a06d8f..d4ca2eb2 100644 --- a/src/drivers/driver_nl80211_event.c +++ b/src/drivers/driver_nl80211_event.c @@ -2505,34 +2505,12 @@ static void nl80211_sta_opmode_change_event(struct wpa_driver_nl80211_data *drv, static void nl80211_control_port_frame(struct wpa_driver_nl80211_data *drv, struct nlattr **tb) { - u8 *src_addr; - u16 ethertype; - - if (!tb[NL80211_ATTR_MAC] || - !tb[NL80211_ATTR_FRAME] || - !tb[NL80211_ATTR_CONTROL_PORT_ETHERTYPE]) + if (!tb[NL80211_ATTR_MAC] || !tb[NL80211_ATTR_FRAME]) return; - src_addr = nla_data(tb[NL80211_ATTR_MAC]); - ethertype = nla_get_u16(tb[NL80211_ATTR_CONTROL_PORT_ETHERTYPE]); - - switch (ethertype) { - case ETH_P_RSN_PREAUTH: - wpa_printf(MSG_INFO, "nl80211: Got pre-auth frame from " - MACSTR " over control port unexpectedly", - MAC2STR(src_addr)); - break; - case ETH_P_PAE: - drv_event_eapol_rx(drv->ctx, src_addr, - nla_data(tb[NL80211_ATTR_FRAME]), - nla_len(tb[NL80211_ATTR_FRAME])); - break; - default: - wpa_printf(MSG_INFO, "nl80211: Unxpected ethertype 0x%04x from " - MACSTR " over control port", - ethertype, MAC2STR(src_addr)); - break; - } + drv_event_eapol_rx(drv->ctx, nla_data(tb[NL80211_ATTR_MAC]), + nla_data(tb[NL80211_ATTR_FRAME]), + nla_len(tb[NL80211_ATTR_FRAME])); } @@ -2751,6 +2729,9 @@ static void do_process_drv_event(struct i802_bss *bss, int cmd, case NL80211_CMD_UPDATE_OWE_INFO: mlme_event_dh_event(drv, bss, tb); break; + case NL80211_CMD_CONTROL_PORT_FRAME: + nl80211_control_port_frame(drv, tb); + break; default: wpa_dbg(drv->ctx, MSG_DEBUG, "nl80211: Ignored unknown event " "(cmd=%d)", cmd); @@ -2840,9 +2821,6 @@ int process_bss_event(struct nl_msg *msg, void *arg) case NL80211_CMD_EXTERNAL_AUTH: nl80211_external_auth(bss->drv, tb); break; - case NL80211_CMD_CONTROL_PORT_FRAME: - nl80211_control_port_frame(bss->drv, tb); - break; default: wpa_printf(MSG_DEBUG, "nl80211: Ignored unknown event " "(cmd=%d)", gnlh->cmd); |