aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/driver_i.h
Commit message (Collapse)AuthorAgeFilesLines
* SAE: Support external authentication offload for driver-SME casesSunil Dutt2018-02-021-0/+10
| | | | | | | | | | Extend the SME functionality to support the external authentication. External authentication may be used by the drivers that do not define separate commands for authentication and association (~WPA_DRIVER_FLAGS_SME) but rely on wpa_supplicant's SME for the authentication. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
* FILS: Driver configuration to disable/enable FILS featuresvamsi krishna2017-12-151-0/+8
| | | | | | | | | | The new disable_fils parameter can be used to disable FILS functionality in the driver. This is currently removing the FILS Capability bit in Extended Capabilities and providing a callback to the driver wrappers. driver_nl80211.c implements this using a QCA vendor specific command for now. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* FILS: Send updated connection parameters to drivers if neededVidyullatha Kanchanapally2017-10-171-0/+11
| | | | | | | | | | After an initial connection wpa_supplicant derives ERP information which can be used in doing eventual authentications in the same realm. This information can be used by drivers with offloaded FILS support to do driver/firmware initiated roamings. Add support to send this updated information to such drivers. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* nl80211/MBO: Set temporary disallowed BSSID list to driverAshwini Patil2017-06-301-0/+10
| | | | | | | | | Set temporary disallowed BSSID list to the driver so that the driver doesn't try to connect to any of the blacklisted BSSIDs during driver-based roaming operation. This commit includes support only for the nl80211 driver interface using a QCA vendor command for this. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* driver: Make DFS domain information available to coreVasanthakumar Thiagarajan2017-05-131-2/+3
| | | | | | | | Current DFS domain information of the driver can be used in ap/dfs to comply with DFS domain specific requirements like uniform spreading for ETSI domain. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
* MBO: Add support to set ignore assoc disallow to driverVamsi Krishna2017-05-041-0/+8
| | | | | | | | Add support to set ignore assoc disallow to the driver so that the driver ignores assoc disallowed bit set by APs while connecting. This is used by drivers that handle BSS selection and roaming internally. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* driver: Move add_pmkid() and remove_pmkid() arguments into a structVidyullatha Kanchanapally2017-04-071-5/+4
| | | | | | | This makes it easier to add more arguments to these wpa_driver_ops functions. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* nl80211: Driver command for checking BTM accept/rejectKanchanapally, Vidyullatha2017-03-061-0/+10
| | | | | | | | Add driver interface command using the QCA vendor extensions to check the driverr whether to accept or reject a BSS transition candidate. For the reject case, report an MBO reject reason code. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* Add wpa_supplicant SET get_pref_freq_list_overrideJouni Malinen2017-02-161-0/+5
| | | | | | | | | | | | This can be used to override driver get_pref_freq_list() operation for more convenient testing of preferred frequency list functionality. Override string format: <if_type1>:<freq1>,<freq2>,... <if_type2>:... if_type: 0=STATION, 2=AP, 3=P2P_GO, 4=P2P_CLIENT, 8=TDLS, 9=IBSS Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* nl80211: Enhance abort scan to also abort the vendor scanSunil Dutt2016-11-301-2/+3
| | | | | | | This commit enhances the abort scan implementation to also abort the vendor scan, if one was used to trigger the scan. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* mka: Add enable_encrypt op and call it from CP state machineSabrina Dubroca2016-11-191-0/+8
| | | | | | This allows MKA to turn encryption on/off down to the driver. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Add support for removing SAsSabrina Dubroca2016-10-291-0/+16
| | | | | | | So that the core can notify drivers that need to perform some operations when an SA is deleted. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Remove "channel" hacks from the stack and the macsec_qca driverSabrina Dubroca2016-10-291-18/+0
| | | | | | | | | | | | | | | | | | This is specific to the macsec_qca driver. The core implementation shouldn't care about this, and only deal with the complete secure channel, and pass this down to the driver. Drivers that have such limitations should take care of these in their ->create functions and throw an error. Since the core MKA no longer saves the channel number, the macsec_qca driver must be able to recover it. Add a map (which is just an array since it's quite short) to match SCIs to channel numbers, and lookup functions that will be called in every place where functions would get the channel from the core code. Getting an available channel should be part of channel creation, instead of being a preparation step. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* nl80211: Allow TDLS trigger modes to be configured to the host driverSunil Dutt2016-10-271-0/+9
| | | | | | | | This commit adds a control interface command to configure the TDLS trigger mode to the host driver. This TDLS mode is configured through the "SET tdls_trigger_control" control interface command. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* mka: Add driver op to get macsec capabilitiesSabrina Dubroca2016-10-091-0/+8
| | | | | | | This also implements the macsec_get_capability for the macsec_qca driver to maintain the existing behavior. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Pass full structures down to macsec drivers' receive SC opsSabrina Dubroca2016-10-071-7/+5
| | | | | | | | Clean up the driver interface by passing pointers to struct receive_sc down the stack to the {create,delete}_recevie_sc() ops, instead of passing the individual properties of the SC. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Pass full structures down to macsec drivers' transmit SC opsSabrina Dubroca2016-10-071-6/+4
| | | | | | | | Clean up the driver interface by passing pointers to struct transmit_sc down the stack to the {create,delete}_transmit_sc() ops, instead of passing the individual arguments. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Pass full structures down to macsec drivers' receive SA opsSabrina Dubroca2016-10-031-8/+6
| | | | | | | | Clean up the driver interface by passing pointers to struct receive_sa down the stack to the {create,enable,disable}_receive_sa() ops, instead of passing the individual properties of the SA. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Pass full structures down to macsec drivers' transmit SA opsSabrina Dubroca2016-10-031-10/+6
| | | | | | | | Clean up the driver interface by passing pointers to struct transmit_sa down the stack to the {create,enable,disable}_transmit_sa ops, instead of passing the individual properties of the SA. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Pass full structures down to macsec drivers' packet number opsSabrina Dubroca2016-10-031-12/+6
| | | | | | | | | Clean up the driver interface by passing pointers to structs transmit_sa and receive_sa down the stack to get_receive_lowest_pn(), get_transmit_next_pn(), and set_transmit_next_pn() ops, instead of passing the individual arguments. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Store cipher suite ID in a u64 instead of u8 pointerSabrina Dubroca2016-08-281-1/+1
| | | | Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* mka: Remove cs_len argument from the set_current_cipher_suite functionsSabrina Dubroca2016-08-281-3/+2
| | | | | | | | This is a known constant value (CS_ID_LEN, i.e., the length of the EUI64 identifier) and does not need to be provided separately in these function calls. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
* Set default scan IEs to the driver (QCA vendor extension)vamsi krishna2016-08-021-0/+8
| | | | | | | | | | This makes wpa_supplicant set default scan IEs to the driver (if the vendor command is supported). The driver can use these IEs in the scan requests initiated by the driver itself. Also the driver can merge these IEs into further scan requests that it receives, in case if the scan request doesn't carry any of the IEs sent in this command. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Allow P2P listen being offloaded to the driver/firmwarePeng Xu2016-07-031-0/+23
| | | | | | | | | | | | | This allows P2P Listen to be offloaded to device to enhance power saving. To start P2P listen offload, from wpa_cli interface, issue the command: p2p_lo_start <freq> <period> <interval> <count> To stop P2P listen offload, issue the command: p2p_lo_stop Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* mesh: Clean up AMPE element encoding and parsingJouni Malinen2016-06-191-0/+9
| | | | | | | | | | | | | The AMPE element includes number of optional and variable length fields and those cannot really be represented by a fixed struct ieee80211_ampe_ie. Remove the optional fields from the struct and build/parse these fields separately. This is also adding support for IGTKdata that was completely missing from the previous implementation. In addition, Key RSC for MGTK is now filled in and used when configuring the RX MGTK for a peer. Signed-off-by: Jouni Malinen <j@w1.fi>
* nl80211: Use extended capabilities per interface typeKanchanapally, Vidyullatha2016-05-311-0/+11
| | | | | | | | | | This adds the necessary changes to support extraction and use of the extended capabilities specified per interface type (a recent cfg80211/nl80211 extension). If that information is available, per-interface values will be used to override the global per-radio value. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* driver: Add a packet filtering function declarationMatti Gottlieb2016-04-081-0/+9
| | | | | | | | | | | | | | Add a new function declaration that will allow wpa_supplicant to request the driver to configure data frame filters for specific cases. Add definitions that will allow frame filtering for stations as required by Hotspot 2.0: 1. Gratuitous ARP 2. Unsolicited NA 3. Unicast IP packets encrypted with GTK Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
* nl80211: Add support for multiple scan plans for scheduled scanAvraham Stern2015-11-301-4/+2
| | | | | | | | | | | | | | | Add 'scan plans' to driver scan parameters for scheduled scan. Each 'scan plan' specifies the number of iterations to run the scan request and the interval between iterations. When a scan plan finishes (i.e., it was run for the specified number of iterations), the next scan plan is executed. The last scan plan will run infinitely. The maximum number of supported scan plans, the maximum number of iterations for a single scan plan and the maximum scan interval are advertised by the driver. Signed-off-by: Avraham Stern <avraham.stern@intel.com>
* nl80211: Add support for aborting an ongoing scanKanchanapally, Vidyullatha2015-11-261-0/+7
| | | | | | | This adds the driver interface commands for issuing a request to abort an ongoing scan operation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* driver: Make setting up AP optional when creating AP interfaceAvraham Stern2015-11-221-1/+1
| | | | | | | | | | | | | | | | | | When an AP interface it created, it is also setup and subscribes for management frames etc. However, when the interface is added by wpa_supplicant, setting up for AP operations is redundant because it will be done by wpa_supplicant on wpa_drv_init() when setting the interface mode to AP. In addition, it may cause wpa_supplicant to fail initializing the interface as it will try to subscribe for management frames on this interface but the interface is already registered. Change this, so when adding an AP interface, make setting up the AP optional, and use it only when the interface is added by hostapd but not when it is added by wpa_supplicant. Signed-off-by: Avraham Stern <avraham.stern@intel.com>
* nl80211: Specify CSA offsets in send_mlme() driver opAndrei Otcheretianski2015-10-031-1/+1
| | | | | | | | | | Some management frames contain CSA counters which should be updated by kernel. Change driver op send_mlme() allowing to send a frame, specifying an array of offsets to the CSA counters which should be updated. For example, CSA offsets parameters should be specified when sending Probe Response frames during CSA period. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
* Return error from wpa_drv_get_pref_freq_list() if no driver supportJouni Malinen2015-07-301-1/+1
| | | | | | | | | | | | | | Commit 983422088f0066068fd364013623d1e475031e6b ('nl80211: Add means to query preferred channels') return success if no driver wrapper callback was provided for fetching the preferred channel list. That is problematic since the *num argument is not updated and uninitialized freq_list could end up getting used with arbitrary frequency values. Fix this by returning error in case the values were not available due to driver wrapper not implementing the function. This matches the style used in the driver_nl80211.c implementation for the case where the driver does not support such fetch operation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* nl80211: Add means to query preferred channelsAhmad Kholaif2015-07-291-0/+11
| | | | | | | | Extend the QCA vendor specific nl80211 interface to query the preferred frequency list from driver and add a new wpa_cli command to query this information. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Inform driver of the operating channel following group formationAhmad Kholaif2015-07-291-0/+8
| | | | | | | | Upon GO Negotiation completion, if the remote peer becomes GO, send a hint event over QCA vendor specific interface to inform the driver of the likely operating channel of the P2P GO. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* QCA vendor command support to set band to driverSrinivas Dasari2015-07-281-0/+8
| | | | | | | | | Add vendor command to pass SET setband command to the driver and read the updated channel list from driver when this notification succeeds. This allows the driver to update its internal channel lists based on setband configuration. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* P2P: Specify frequency when sending Probe Response frameAndrei Otcheretianski2015-06-141-2/+4
| | | | | | | | | | If the RX frequency of the Probe Request frame is known, specify it when sending the Probe Response frame. This is needed when the Probe Request frame is received on another virtual interface, for example, when a GO or P2PS client are discoverable on the group operating channel. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com>
* drivers: Add freq parameter to send_mlme() functionAndrei Otcheretianski2015-06-141-1/+1
| | | | | | | | Change send_mlme() API to allow sending management frames on a specific channel, overriding the internal driver decision. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com>
* Remove unused shared_freq driver opEliad Peller2015-03-201-7/+0
| | | | | | This driver op is not used anymore Signed-off-by: Eliad Peller <eliad@wizery.com>
* Preparations for variable length KCK and KEKJouni Malinen2015-01-261-3/+5
| | | | | | | | This modifies struct wpa_ptk to allow the length of KCK and KEK to be stored. This is needed to allow longer keys to be used, e.g., with Suite B 192-bit level. Signed-off-by: Jouni Malinen <j@w1.fi>
* Add a test framework for various wpa_supplicant failure casesJouni Malinen2015-01-191-0/+4
| | | | | | | | | | | For CONFIG_TESTING_OPTIONS=y builds, add a new test parameter than can be used to trigger various error cases within wpa_supplicant operations to make it easier to test error path processing. "SET test_failure <val>" is used to set which operation fails. For now, 0 = no failures and 1 = scan trigger fails with EBUSY. More operations can be added in the future to extend coverage. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* TDLS: Propagate enable/disable channel-switch commands to driverArik Nemtsov2015-01-041-0/+21
| | | | | | | | | | | | The supplicant code does not try to control the actual channel of the radio at any point. It simply passes the target peer and channel parameters to the driver. It's the driver's responsibility to periodically initiate TDLS channel-switch operations when TDLS channel-switching is enabled. Allow enable/disable operations to be invoked via the control interface. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
* Remove unused send_eapol() driver opJouni Malinen2014-12-111-10/+0
| | | | | | | | | | The send_eapol() callback was used by driver_test.c, but with that removed, there is no remaining users of the alternative EAPOL frame transmitting mechanism in wpa_supplicant, i.e., all remaining driver interfaces use l2_packet instead. Remove the send_eapol() to get rid of unused code. Signed-off-by: Jouni Malinen <j@w1.fi>
* Replace send_ft_action() driver_op with send_action()Jouni Malinen2014-12-061-10/+0
| | | | | | | | This reduced number of unnecessarily duplicated driver interface callback functions for sending Action frames by using the more generic send_action() instead of FT specific send_ft_action(). Signed-off-by: Jouni Malinen <j@w1.fi>
* WMM AC: Add add_tx_ts and del_tx_ts driver opsMoshe Benji2014-11-161-0/+18
| | | | | | | | | | | Add add_tx_ts() and del_tx_ts() ops to notify the driver about TSPEC add / delete. Additionally, add wmm_ac_supported flag to indicate whether the driver supports WMM AC. Signed-off-by: Moshe Benji <moshe.benji@intel.com> Signed-off-by: Eliad Peller <eliad@wizery.com>
* nl80211: Add new commands to support mesh interfacesBob Copeland2014-10-191-0/+22
| | | | | | | | | Create init_mesh, mesh_join, and mesh_leave actions to kernel. Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Bob Copeland <me@bobcopeland.com>
* TDLS: Set the initiator during tdls_mgmt operationsArik Nemtsov2014-10-031-3/+3
| | | | | | | | Some drivers need to know the initiator of a TDLS connection in order to generate a correct TDLS mgmt packet. It is used to determine the link identifier IE. Pass this information to the driver. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
* nl80211: Add command for changing local MAC addressJouni Malinen2014-09-271-0/+8
| | | | | | | This can be used to allow wpa_supplicant to control local MAC address for connections. Signed-off-by: Jouni Malinen <j@w1.fi>
* Add support for driver command to update roaming policyJouni Malinen2014-09-111-0/+8
| | | | | | | | | | | | | The network block bssid parameter can be used to force a specific BSS to be used for a connection. It is also possible to modify this parameter during an association. Previously, that did not result in any notification to the driver which was somewhat problematic with drivers that take care of BSS selection. Add a new mechanism to allow wpa_supplicant to provide a driver update if the bssid parameter change for the current connection modifies roaming policy (roaming allowed/disallowed within ESS). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* MACsec: Add driver_opsHu Wang2014-05-091-0/+195
| | | | | | This defines new driver_ops to be used with MACsec. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
* wpa_supplicant: Add Wake-on-WLAN configuration supportEliad Peller2014-04-291-0/+8
| | | | | | | | | | Add a new wowlan_triggers option to wpa_supplicant.conf. The triggers in this key will be used to configure the kernel wowlan configuration. For now, support only simple flags. More complex triggers can be added later on. Signed-off-by: Eliad Peller <eliadx.peller@intel.com>