aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/beacon.c
Commit message (Collapse)AuthorAgeFilesLines
* hostap: add channel switch ability to AP & GO (INTERNAL)Victor Goldenshtein2012-09-131-0/+25
| | | | | | | | | | | | | | | Add channel switch command and handle channel switch request/complete events. New hostapd_eid_csa() which builds the channel switch announcement IE. Add this CSA to the beacon frame prior performing a channel switch and remove it once it's completed. New EVENT_REQ_CH_SW which indicates that the driver has requested to perform a channel switch. Signed-hostap: Victor Goldenshtein <victorg@ti.com>
* AP: configure basic rates from iface and not confArik Nemtsov2012-09-041-1/+1
| | | | | | | | | The conf doesn't contain any basic rates in some cases. Most notably, when starting a p2p GO in 5Ghz. Use the iface rates which are initialized in hostapd_prepare_rates() to the conf rates or set to default values if no conf values exist. Signed-hostap: Arik Nemtsov <arik@wizery.com>
* hostapd: Add IEEE 802.11ac VHT IEs into Beacon/Probe ResponseMahesh Palivela2012-06-301-0/+10
| | | | | | | IEEE 802.11ac VHT changes to include VHT IEs in Beacon and Probe Response frames. Signed-hostap: Mahesh Palivela <maheshp@posedge.com>
* Pass signal strength through, fix unitsJohannes Berg2012-04-011-2/+3
| | | | | | | | | | | | | | | | The signal strength is currently never used as the only driver reporting it is nl80211 which uses IEEE80211_RADIOTAP_DB_ANTSIGNAL which is never populated by the kernel. The kernel will (soon) populate IEEE80211_RADIOTAP_DBM_ANTSIGNAL instead though, so use that. Also, since it was never really populated, we can redefine the signal field to be in dBm units only. My next patch will also require knowing the signal strength of probe requests throughout the code (where available), so add it to the necessary APIs. Signed-hostap: Johannes Berg <johannes.berg@intel.com>
* hostapd: Only update already-set beacons when processing OLBCLuciano Coelho2012-04-011-0/+10
| | | | | | | | | | | When hostapd is about to start an AP using HT40, it starts a scan to check whether it is allowed or not. If OLBC is detected before the scan has completed, it sets the beacons prematurely. To fix this, instead of setting all beacons when OLBC is detected, only update the ones that have already been started. Signed-off-by: Luciano Coelho <coelho@ti.com>
* nl80211: Make use of driver's capability to detect inactive stationsVasanthakumar Thiagarajan2012-03-271-0/+1
| | | | | | | | | | | When drivers advertise their capability to free up inactive stations based on ap_max_inactivity, send the inactivity period timeout to driver in NL80211_ATTR_INACTIVITY_TIMEOUT. This introduces a WPA_DRIVER_FLAGS (WPA_DRIVER_FLAGS_INACTIVITY_TIMER) so that the inactivity period will be sent only when this capability bit is set. Signed-hostap: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
* P2P: Use Device ID attribute to filter Probe Request frames as GOJouni Malinen2012-01-081-0/+12
| | | | | | | | The Device ID attribute was already used in Listen state, but it was ignored in GO role. Verify that there is a match with Device ID in GO rule, too, before replying to the Probe Request frame. Signed-hostap: Jouni Malinen <j@w1.fi>
* Set driver Probe Response template for AP mode offloadArik Nemtsov2011-12-101-0/+42
| | | | | | | | | | | Configure a Probe Response template for drivers that support it. The template is updated when the Beacon template is updated. The Probe Response template is propagated to the driver via the set_ap() callback. Signed-hostap: Arik Nemtsov <arik@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com>
* Split Probe Response generation into a separate functionArik Nemtsov2011-12-101-102/+114
| | | | | | | | This is needed for Probe Response template, so move the code into a separate function that can be shared. Signed-hostap: Arik Nemtsov <arik@wizery.com> Signed-off-by: Arik Nemtsov <arik@wizery.com>
* Merge set_rate_sets() driver_ops into set_ap()Jouni Malinen2011-12-031-0/+1
| | | | Signed-hostap: Jouni Malinen <j@w1.fi>
* Avoid excessive probe response retriesHelmut Schaa2011-11-191-1/+8
| | | | | | | | | | | | | | | | | | Some client implementations only wait a few ms after sending a probe request while scanning. Since probe responses are always sent at a low rate this can eat quite some airtime and it might be impossible to get the frame out before the client leaves the channel again. If the client leaves before all probe reponses where acked this can cause the probe reponse to be retried quite often consuming even more airtime. Hence, add a new noack flag to the driver's send_mlme callback that allows hostapd to request whether the driver should expect an ACK for this frame or not. Use the new noack-policy only for broadcast probe requests that contain a wildcard SSID. Signed-hostap: Helmut Schaa <helmut.schaa@googlemail.com>
* Allow MLME frames to be sent without expecting an ACK (no retries)Helmut Schaa2011-11-191-1/+1
| | | | | | | | | | In some situations it might be benefical to send a unicast frame without the need for getting it ACKed (probe responses for example). In order to achieve this add a new noack parameter to the drivers send_mlme callback that can be used to advise the driver to not wait for an ACK for this frame. Signed-hostap: Helmut Schaa <helmut.schaa@googlemail.com>
* Remove unconfigurable cts_protection_typeJouni Malinen2011-10-291-17/+5
| | | | | | | This was included in the AP configuration parameters, but there has been no way to set it to anything else than the default automatic mode. Remove this parameter and just hardcode ERP determination to follow the automatic mode.
* Interworking: Filter Probe Request frames based on HESSID and ANTJouni Malinen2011-10-211-0/+30
| | | | | Do not reply to Interworking-enabled Probe Request frames if they request mismatching HESSID or ANT.
* Interworking: Include Access Network Type in set_ap() driver_opsJouni Malinen2011-10-211-0/+1
| | | | | This may be needed for drivers that process Probe Request frames internally.
* Add support for Time AdvertisementJouni Malinen2011-10-181-0/+9
| | | | | This adds preliminary support for IEEE 802.11v Time Advertisement mechanism with UTC TSF offset.
* Interworking: Add support for configuring Roaming Consortium ListJouni Malinen2011-10-171-0/+2
|
* Interworking: Add Advertisement Protocol elementJouni Malinen2011-10-171-0/+2
| | | | | For now, assume that ANQP will always be enabled with Interworking. This may be made separately configurable in the future.
* Add Interworking configuration in set_ap() driver_opsJouni Malinen2011-10-171-0/+4
| | | | | Drivers that implement SME/MLME may find it easier to use separated information to configure Interworking related parameters.
* Move Ext Capab and Interworking element construction into shared fileJouni Malinen2011-10-171-40/+0
| | | | These needs to be available for drivers that implement SME/MLME.
* Remove unused function argumentJouni Malinen2011-10-171-4/+3
|
* Move AP BSS configuration parameters into set_ap()Jouni Malinen2011-10-171-59/+16
| | | | | | | | | | | | Remove the separate driver_ops functions set_cts_protect(), set_preamble(), set_short_slot_time(), and set_ht_params(). These belong into same set of operations as set_ap(), so there is no need to maintain separate functions that just make the driver wrapper more complex. Since these have only been used with driver_nl80211.c, the driver_ops can be removed immediately instead of maintaining backwards compatibility period with the old functions.
* Deprecate set_intra_bss() driver_opsJouni Malinen2011-10-171-15/+1
| | | | | | | | | The AP client isolation parameter is now available through set_ap(). driver_nl80211.c was the only driver wrapper using the set_intra_bss() call in hostap.git, but some external trees may have used this. Once those are cleared, the set_infra_bss() driver_ops can be removed completely. The only remaining use case for it currently is in P2P GO mode with wpa_supplicant.
* Remove unused P2P device discovery hack from Beacon configurationJouni Malinen2011-10-171-7/+0
| | | | | | | AP mode operations were used for P2P device discovery Listen state only during early experiments. This has now been cleaned up and ieee802_11_set_beacon() is not called for P2P device discovery. As such, this hack to skip Beacon configuration can be removed.
* Start deprecating various AP mode driver_opsJouni Malinen2011-10-171-4/+86
| | | | | The preferred way of configuring AP mode will be to use set_ap() instead of number of separate operations hostapd has collected over the years.
* IEEE 802.11u: Add configuration and advertisement for InterworkingJouni Malinen2011-10-161-0/+44
|
* Provide extra IEs for AP mode management frames with set_apJouni Malinen2011-08-261-0/+6
| | | | | | Drivers that build Beacon, Probe Response, and (Re)Association Response frames can use this information to and WPS and P2P IE when needed.
* Add support for setting SSID hiding mode through set_ap()Jouni Malinen2011-08-261-0/+11
|
* Add crypto parameters to set_ap() command separatelyJouni Malinen2011-08-261-0/+10
| | | | | This helps drivers that build the Beacon and Probe Response frames internally.
* Add SSID as a separate item in AP mode Beacon setupJouni Malinen2011-08-101-0/+2
| | | | | This makes it easier for drivers that need the SSID to get it from the Beacon setup operation without having to parse the Beacon IEs.
* Replace set_beacon() driver op with set_ap()Jouni Malinen2011-08-101-5/+10
| | | | | | | | This change is a first step in better supporting different driver architectures for AP mode operations with nl80211. This commit in itself does not add new functionality, but it makes it easier to add new AP mode parameters to address needs of drivers that have more of the MLME/SME in firmware or kernel.
* WPS: Do not update Beacon IEs before initial IE setJouni Malinen2011-08-091-0/+1
| | | | | | This avoids a request to the driver to first start beaconing before the WPA/RSN IE has been generated and then immediately changing the beacon IEs once the WPA/RSN IE is ready.
* P2P: Filter Probe Request frames based on DA and BSSID in Listen stateJouni Malinen2011-07-151-1/+2
| | | | | | Only accept Probe Request frames that have a Wildcard BSSID and a destination address that matches with our P2P Device Address or is the broadcast address per P2P specification 3.1.2.1.1.
* hostapd: Allow TDLS use to be prohibited in the BSSJouni Malinen2011-01-281-0/+4
| | | | | | tdls_prohibit=1 and tdls_prohibit_chan_switch=1 and now be used to disable use of TDLS or TDLS channel switching in the BSS using extended cabilities IE as defined in IEEE 802.11z.
* AP: Validate management frame lengthJouni Malinen2011-01-171-0/+2
| | | | | | Make sure that received management frames are long enough before processing them. This avoids a potential segmentation fault if a driver delivers an invalid frame all the way to hostapd.
* Get rid of struct hostapd_driver_ops abstractionJouni Malinen2010-11-241-2/+2
| | | | | | This is not needed anymore and just makes things more difficult to understand, so move the remaining function pointers to direct function calls and get rid of the struct hostapd_driver_ops.
* hostapd_driver_ops reductionJouni Malinen2010-11-241-3/+3
| | | | | | send_eapol, set_key, read_sta_data, sta_clear_stats, set_radius_acl_auth, set_radius_acl_expire, and set_beacon to use inline functions instead of extra abstraction.
* hostapd: Start removing struct hostapd_driver_ops abstractionJouni Malinen2010-11-241-1/+2
| | | | | | | | | | | | | | Commit bf65bc638fe438b96f2986580ad167d5e276ef4c started the path to add this new abstraction for driver operations in AP mode to allow wpa_supplicant to control AP mode operations. At that point, the extra abstraction was needed, but it is not needed anymore since hostapd and wpa_supplicant share the same struct wpa_driver_ops. Start removing the unneeded abstraction by converting send_mgmt_frame() to an inline function, hostapd_drv_send_mlme(). This is similar to the design that is used in wpa_supplicant and that was used in hostapd in the past (hostapd_send_mgmt_frame() inline function).
* P2P: Extend P2P manager functionality to work with driver MLMEJouni Malinen2010-10-081-24/+1
| | | | | Add P2P IE into Beacon, Probe Response, and (Re)Association Request frames for drivers that generate this frames internally.
* P2P: Add defined values for P2P Manageability BitmapJouni Malinen2010-09-091-2/+3
|
* P2P: Add preliminary P2P Manager AP support for hostapdJouni Malinen2010-09-091-0/+33
|
* P2P: Add P2P configuration and callbacks in hostapd codeJouni Malinen2010-09-091-0/+60
|
* Indicate Barker Preamble Mode in ERP IE also based on local configurationJouni Malinen2010-09-051-1/+2
| | | | | | | | While this is not strictly speaking required based on dynamic configuration (i.e., dot11ShortPreambleOptionImplemented is static value based on implementation, not runtime configuration), it is better to follow local configuration parameter for short preamble in addition to the associated station capabilities.
* Add new debug message level for excessive informationJouni Malinen2010-07-051-3/+4
| | | | | | | Some frequent debug prints are of limited use and make debug output difficult to read. Make them use a new debug level so that -dd provides more readable output (-ddd can now be used to enable the excessive debug prints).
* hostapd: Reorder some IEs to get closer to IEEE 802.11 standardJouni Malinen2010-05-021-6/+8
| | | | | | | | | | | | | Vendor-specific IEs are supposed to be in the end of the frame, so move WMM into the end of Beacon, Probe Response, and (Re)Association Response frames. In addition, move HT IEs to be later in (Re)Association Response to match the correct order. hostapd_eid_wpa() adds multiple IEs and the end result may not always be correct. If WPA is enabled, WPA IE (vendor-specific) gets added in the middle of the frame and not in the end. This would require a larger change to spliut the IEs from WPA module into separate locations when constructing Beacon and Probe Response frames. This is not yet addressed.
* Remove unnecessary ifname parameter from set_beacon()Jouni Malinen2010-03-061-2/+1
| | | | The new per-BSS driver context makes this unnecessary.
* Allow Probe Request callbacks to terminate iterationJouni Malinen2009-12-281-2/+3
|
* Allocate Probe Response and Beacon buffers based on WPS IE lengthJouni Malinen2009-12-281-2/+13
| | | | | | This IE is of variable length and it is better to allocate the frame buffer taking this length into account to prepare for future additions.
* Include header files explicitly in *.c, not via header filesJouni Malinen2009-12-261-0/+2
|
* Rename some src/ap files to avoid duplicate file namesJouni Malinen2009-12-261-6/+6
| | | | | | Doxygen and some build tools may get a bit confused about same file name being used in different directories. Clean this up a bit by renaming some of the duplicated file names in src/ap.