mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-17 18:34:03 -05:00
DFS: Add more parameters to radar events
Signed-hostap: Janusz Dziedzic <janusz.dziedzic@tieto.com>
This commit is contained in:
parent
04e8003c6c
commit
846de15d7b
@ -3959,6 +3959,11 @@ union wpa_event_data {
|
|||||||
*/
|
*/
|
||||||
struct dfs_event {
|
struct dfs_event {
|
||||||
int freq;
|
int freq;
|
||||||
|
int ht_enabled;
|
||||||
|
int chan_offset;
|
||||||
|
enum chan_width chan_width;
|
||||||
|
int cf1;
|
||||||
|
int cf2;
|
||||||
} dfs_event;
|
} dfs_event;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2498,6 +2498,8 @@ static void nl80211_connect_failed_event(struct wpa_driver_nl80211_data *drv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static enum chan_width convert2width(int width);
|
||||||
|
|
||||||
static void nl80211_radar_event(struct wpa_driver_nl80211_data *drv,
|
static void nl80211_radar_event(struct wpa_driver_nl80211_data *drv,
|
||||||
struct nlattr **tb)
|
struct nlattr **tb)
|
||||||
{
|
{
|
||||||
@ -2511,8 +2513,37 @@ static void nl80211_radar_event(struct wpa_driver_nl80211_data *drv,
|
|||||||
data.dfs_event.freq = nla_get_u16(tb[NL80211_ATTR_WIPHY_FREQ]);
|
data.dfs_event.freq = nla_get_u16(tb[NL80211_ATTR_WIPHY_FREQ]);
|
||||||
event_type = nla_get_u8(tb[NL80211_ATTR_RADAR_EVENT]);
|
event_type = nla_get_u8(tb[NL80211_ATTR_RADAR_EVENT]);
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG, "nl80211: DFS event on freq %d MHz",
|
/* Check HT params */
|
||||||
data.dfs_event.freq);
|
if (tb[NL80211_ATTR_WIPHY_CHANNEL_TYPE]) {
|
||||||
|
data.dfs_event.ht_enabled = 1;
|
||||||
|
data.dfs_event.chan_offset = 0;
|
||||||
|
|
||||||
|
switch (nla_get_u32(tb[NL80211_ATTR_WIPHY_CHANNEL_TYPE])) {
|
||||||
|
case NL80211_CHAN_NO_HT:
|
||||||
|
data.dfs_event.ht_enabled = 0;
|
||||||
|
break;
|
||||||
|
case NL80211_CHAN_HT20:
|
||||||
|
break;
|
||||||
|
case NL80211_CHAN_HT40PLUS:
|
||||||
|
data.dfs_event.chan_offset = 1;
|
||||||
|
break;
|
||||||
|
case NL80211_CHAN_HT40MINUS:
|
||||||
|
data.dfs_event.chan_offset = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Get VHT params */
|
||||||
|
data.dfs_event.chan_width =
|
||||||
|
convert2width(nla_get_u32(tb[NL80211_ATTR_CHANNEL_WIDTH]));
|
||||||
|
data.dfs_event.cf1 = nla_get_u32(tb[NL80211_ATTR_CENTER_FREQ1]);
|
||||||
|
if (tb[NL80211_ATTR_CENTER_FREQ2])
|
||||||
|
data.dfs_event.cf2 = nla_get_u32(tb[NL80211_ATTR_CENTER_FREQ2]);
|
||||||
|
|
||||||
|
wpa_printf(MSG_DEBUG, "nl80211: DFS event on freq %d MHz, ht: %d, offset: %d, width: %d, cf1: %dMHz, cf2: %dMHz",
|
||||||
|
data.dfs_event.freq, data.dfs_event.ht_enabled,
|
||||||
|
data.dfs_event.chan_offset, data.dfs_event.chan_width,
|
||||||
|
data.dfs_event.cf1, data.dfs_event.cf2);
|
||||||
|
|
||||||
switch (event_type) {
|
switch (event_type) {
|
||||||
case NL80211_RADAR_DETECTED:
|
case NL80211_RADAR_DETECTED:
|
||||||
|
Loading…
Reference in New Issue
Block a user