hostapd: Add AP DFS support

Add DFS structures/events handlers, CAC handling, and radar detection.
By default, after radar is detected or the channel became unavailable, a
random channel will be chosen.

This patches are based on the original work by Boris Presman and
Victor Goldenshtein. Most of the DFS code is moved to a new dfs.c/dfs.h
files.

Cc: Boris Presman <boris.presman@ti.com>
Cc: Victor Goldenshtein <victorg@ti.com>

Signed-hostap: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-hostap: Janusz Dziedzic <janusz.dziedzic@tieto.com>
This commit is contained in:
Janusz Dziedzic 2013-10-15 20:27:25 +03:00 committed by Jouni Malinen
parent dfe6ce4eeb
commit e76da50529
10 changed files with 423 additions and 10 deletions

18
src/ap/dfs.h Normal file
View file

@ -0,0 +1,18 @@
/*
* DFS - Dynamic Frequency Selection
* Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
*
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
#ifndef DFS_H
#define DFS_H
struct hostapd_channel_data * hostapd_dfs_get_valid_channel(
struct hostapd_data *hapd);
int ieee802_11_complete_cac(struct hostapd_data *hapd, int success, int freq);
int ieee802_11_set_dfs_state(struct hostapd_data *hapd, int freq, u32 state);
int ieee802_11_start_channel_switch(struct hostapd_data *hapd);
int hostapd_handle_dfs(struct hostapd_data *hapd);
#endif /* DFS_H */