3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-06 03:59:22 +01:00
Commit Graph

107 Commits

Author SHA1 Message Date
Tim Kourt
0d3eb7d27b scan: Make scan_freq_set_foreach const correct 2019-04-01 14:28:42 -05:00
Andrew Zaborowski
2b544541bc scan: Drop notify callback's ifindex parameter
This is not used by any of the scan notify callback implementations and
for P2P we're going to need to scan on an interface without an ifindex
so without this the other changes should be mostly contained in scan.
2019-03-15 12:17:53 -05:00
Andrew Zaborowski
98623edd7d scan: Drop remaining sched scan code 2019-03-11 17:49:15 -05:00
James Prestwood
49b02907a8 ie: scan: use VHT rates in scan ranking
This adds support for parsing the VHT IE, which allows a BSS supporting
VHT (80211ac) to be ranked higher than a BSS supporting only HT/basic
rates. Now, with basic/HT/VHT parsing we can calculate the theoretical
maximum data rate for all three and rank the BSS based on that.
2019-02-25 15:07:41 -06:00
James Prestwood
ad2bf340a4 ie: scan: use HT rates in scan ranking
This adds HT IE parsing and data rate calculation for HT (80211n)
rates. Now, a BSS supporting HT rates will be ranked higher than
a basic rate BSS, assuming the RSSI is at an acceptable level.
2019-02-25 11:52:58 -06:00
James Prestwood
7d7fcff03b ie: scan: take into account RSSI when parsing data rate
The spec dictates RSSI thresholds for different modulation schemes, which
correlate to different data rates. Until now were were ranking a BSS with
only looking at its advertised data rate, which may not even be possible
if the RSSI does not meet the threshold.

Now, RSSI is taken into consideration and the data rate returned from
parsing (Ext) Supported Rates IE(s) will reflect that.
2019-02-22 17:44:06 -06:00
Andrew Zaborowski
b375191c61 scan: Drop the wiphy_id scan callback parameter 2018-12-04 10:36:17 -06:00
Denis Kenzior
3d549e457d scan: make scan_bss_get_rsn_info const correct 2018-11-15 11:28:46 -06:00
Andrew Zaborowski
6e70c84f8e station: Ignore ad-hoc networks in scan results
If there are Ad-hoc BSSes they should be present in the scan results
together with regular APs as far as scan.c is concerned.  But in
station mode we can't connect to them -- the Connect method will fail and
autoconnect would fail.  Since we have no property to indicate a
network is an IBSS just filter these results out for now.  There are
perhaps better solutions but the benefit is very low.
2018-10-03 16:56:19 -05:00
Denis Kenzior
1b22af2052 scan: Add scan_bss_addr_cmp/eq 2018-09-04 23:57:14 -05:00
Tim Kourt
1ffc99c343 scan: add ssid parameter
ssid – is used for the direct probe requests
2018-06-29 13:48:09 -05:00
Denis Kenzior
5828073cd5 scan: Add randomize_mac_addr_hint
This will be used by the scanning code to enable mac address
randomization if supported by the hardware / kernel.
2018-06-28 15:41:29 -05:00
Denis Kenzior
4c59569f0c scan: Move scan_get_security to common.c 2018-05-24 19:22:16 -05:00
Andrew Zaborowski
52ee3b0843 scan: Add error code argument to scan results callback
Pass an additional parameter to the scan results notify functions to
tell them whether the scan was successful.  If it wasn't don't bother
passing an empty bss_list queue, pass NULL as bss_list.  This way the
callbacks can tell whether the scan indicates there are no BSSes in
range or simply was aborted and the old scan results should be kept.
2017-03-26 20:26:53 -05:00
Andrew Zaborowski
95e6623011 scan: Add flag to flush case when starting a scan
Add a flush flag to scan_parameters to tell the kernel to flush the
cache of scan results before the new scan.  Use this flag in the
active scan during roaming.
2017-01-31 12:39:16 -06:00
Andrew Zaborowski
b0f51a2527 scan: Support freq_set in scan_parameters
This way we can tell the kernel to only scan on particular frequencies
2017-01-03 12:10:07 -06:00
Andrew Zaborowski
ed1538d5bb scan: Add scan_active_full
Add a version of scan_active that accepts a struct with the scan
parameters so we can more easily add new parameters.  Since the genl
message is now built within scan_active_start the extra_ie memory
can be freed by the caller at any time.
2017-01-03 12:07:37 -06:00
Andrew Zaborowski
67a5b68a16 device: Drop the bss->sha256 flag usage
Don't decide on the AKM suite to use when the bss entries are received
and processed, instead select the suite when the connection is triggered
using a new function device_select_akm_suite, similar to
wiphy_select_cipher().  Describing the AKM suite through flags will be
more difficult when more than 2 suites per security type are supported.
Also handle the wiphy_select_cipher 0 return value when no cipher can be
selected.
2016-11-03 10:00:35 -05:00
Andrew Zaborowski
b29f333bb4 scan: Parse the Country String IE
and save to struct scan_bss
2016-10-29 22:58:36 -05:00
Andrew Zaborowski
1720edfc0e scan: Save Neighbor Report capability bit in bss scan entry 2016-10-29 22:57:07 -05:00
Andrew Zaborowski
da435326aa scan: Save the MD IE in bss scan entry 2016-10-29 22:53:40 -05:00
Denis Kenzior
318d3a2d35 scan: Refactor bss_get_supported_ciphers
In many cases the pairwise and group cipher information is not the only
information needed from the BSS RSN/WPA elements in order to make a
decision.  For example, th MFPC/MFPR bits might be needed, or
pre-authentication capability bits, group management ciphers, etc.

This patch refactors bss_get_supported_ciphers into the more general
scan_bss_get_rsn_info function
2016-10-24 22:12:25 -05:00
Andrew Zaborowski
92bc1d6896 scan: Implement scan_oper_class_to_band
This function takes an Operating Channel and a Country String to convert
it into a band.  Using scan_oper_class_to_band and scan_channel_to_freq,
an Operating Channel, a Country String and a Channel Number together can
be converted into an actual frequency.  EU and US country codes based on
wpa_supplicant's tables.
2016-10-04 21:34:24 -05:00
Andrew Zaborowski
859dcf0d59 scan: Implement scan_freq_set_foreach 2016-10-04 15:15:51 -05:00
Andrew Zaborowski
c4941a82a4 scan: Implement scan_channel_to_freq
This function does the inverse of scan_freq_to_channel
2016-10-04 15:15:51 -05:00
Andrew Zaborowski
6819cb8907 scan: Add a trigger callback to scan_periodic_start 2016-06-27 20:27:12 -05:00
Denis Kenzior
b2bcf97373 scan: Remove unused scan_bss_address_to_string 2016-06-06 18:25:12 -05:00
Denis Kenzior
17a8460835 scan: Move scan_ssid_security to iwd.h
Security type is used all over the place, so move it out to a more
common place.
2016-05-11 15:54:14 -05:00
Denis Kenzior
76c62b0843 scan: Keep track of SHA256 support over PSK/8021X 2016-02-10 12:56:11 -06:00
Denis Kenzior
b9402af687 scan: Add scan_ssid_security_to_str 2016-02-09 17:08:03 -06:00
Denis Kenzior
22ab0e73a2 scan: Add scan_freq_set_get_bands 2015-10-06 15:23:09 -05:00
Denis Kenzior
f62054eb52 scan: Allow cancelation of scan requests 2015-10-05 22:37:12 -05:00
Denis Kenzior
8a68ebd65b scan: Move bss_address_to_string to scan.[ch] 2015-10-02 12:06:20 -05:00
Denis Kenzior
e551133960 scan: Add scan_active 2015-09-30 11:36:00 -05:00
Denis Kenzior
46a0c1db00 scan: Extract WSC IEs 2015-09-28 20:37:04 -05:00
Denis Kenzior
f064230afa scan: Add scan request queue
For queuing up Active & Passive scans from other modules inside IWD
2015-09-22 14:06:40 -05:00
Denis Kenzior
b000c702b0 scan: Refactor scanning code
In preparation for adding active scans
2015-09-22 14:04:08 -05:00
Denis Kenzior
971b3dfed0 scan: Make scan_bss_compute_rank static 2015-06-22 14:12:20 -05:00
Denis Kenzior
035b2c1522 scan: add missing forward-declarations 2015-06-18 03:48:06 -05:00
Denis Kenzior
0cba8ea2e9 scan: Add scan_bss_rank_compare 2015-06-16 17:12:26 -05:00
Denis Kenzior
03004bd7b6 scan: Rename scan_free to scan_exit 2015-06-10 16:41:37 -05:00
Denis Kenzior
b70f5a239d scan: Add scan_freq_set utility class 2015-06-10 16:41:35 -05:00
Denis Kenzior
5ae63817b9 scan: Add scan_freq_to_channel 2015-06-10 16:38:49 -05:00
Denis Kenzior
9eac017ec4 scan: Parse [extended] supported rates ie 2015-06-10 16:38:45 -05:00
Denis Kenzior
f648a3f0eb scan: Include BSS Load channel utilization in rank 2015-06-10 16:28:14 -05:00
Denis Kenzior
1b4a3f19f3 scan: Add initial BSS rank computation 2015-06-05 18:18:55 -05:00
Denis Kenzior
05c83349c6 scan: Add periodic scanning 2015-06-04 22:32:10 -05:00
Denis Kenzior
f2f1bfcdf9 scan: Move rest of scanning code into scan.c 2015-06-01 09:45:47 -05:00
Andrew Zaborowski
4b1555c935 scan: Utility to find AP supported ciphers
Extracts the supported ciphers masks from the beacon data.  If RSN IE
was present, the WPA IE is ignored.
2015-05-18 12:37:34 -05:00
Denis Kenzior
1795105c60 wiphy: Move scan result parsing to scan.c 2015-05-01 17:27:42 -05:00
Denis Kenzior
bf43acfd93 scan: Add scan_bss_free 2015-04-30 22:21:31 -05:00
Denis Kenzior
73a26c51b6 scan: Move struct bss to scan_bss in scan.h 2015-04-30 21:38:27 -05:00
Denis Kenzior
ce3ffd732f scan: Make const correct 2015-01-28 21:23:16 -06:00
Jukka Rissanen
8f73bc825f scan: Add utility to categorize BSS security type
Utility function gets the RSNE information element and
figures out whether the SSID is Open, WEP, PSK or 802.1X
network.
2015-01-28 12:34:01 -06:00
Jukka Rissanen
cb78798857 scan: Refactor scan result fetching to scan.c
No functionality changes by this commit.
2015-01-12 23:09:31 -06:00
Jukka Rissanen
f73708e1d7 scan: Refactor scheduled scan code to scan.c
Move the implementation details of triggering scheduled wifi scans
over netlink to scan.c from wiphy.c.  No functionality is affected
by this commit.
2015-01-12 23:09:31 -06:00
Jukka Rissanen
35d0c519d7 scan: Refactor scan start details to scan.c
Move the implementation details of triggering wifi scans over netlink
to scan.c from wiphy.c.  No functionality is changed by this commit.
2015-01-12 23:09:31 -06:00