18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA Supplicant / Network configuration structures 3391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt * Copyright (c) 2003-2013, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef CONFIG_SSID_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define CONFIG_SSID_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common/defs.h" 13391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt#include "utils/list.h" 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "eap_peer/eap_config.h" 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define MAX_SSID_LEN 32 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_EAP_WORKAROUND ((unsigned int) -1) 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_EAPOL_FLAGS (EAPOL_FLAG_REQUIRE_KEY_UNICAST | \ 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt EAPOL_FLAG_REQUIRE_KEY_BROADCAST) 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_PROTO (WPA_PROTO_WPA | WPA_PROTO_RSN) 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_KEY_MGMT (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X) 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_PAIRWISE (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP) 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_GROUP (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP | \ 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40) 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define DEFAULT_FRAGMENT_SIZE 1398 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt#define DEFAULT_BG_SCAN_PERIOD -1 30c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define DEFAULT_DISABLE_HT 0 31c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define DEFAULT_DISABLE_HT40 0 32a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt#define DEFAULT_DISABLE_SGI 0 33df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt#define DEFAULT_DISABLE_LDPC 0 34c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define DEFAULT_DISABLE_MAX_AMSDU -1 /* no change */ 35c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define DEFAULT_AMPDU_FACTOR -1 /* no change */ 36c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#define DEFAULT_AMPDU_DENSITY -1 /* no change */ 37f9bdef99ce3b2858f2812c745a3d6bb093fb0e5dDmitry Shmidt#define DEFAULT_USER_SELECTED_SIM 1 38c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 39391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidtstruct psk_list_entry { 40391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt struct dl_list list; 41391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt u8 addr[ETH_ALEN]; 42391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt u8 psk[32]; 43391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt u8 p2p; 44391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt}; 45391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * struct wpa_ssid - Network configuration data 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This structure includes all the configuration variables for a network. This 508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * data is included in the per-interface configuration data as an element of 518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the network list, struct wpa_config::ssid. Each network block in the 528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * configuration is mapped to a struct wpa_ssid instance. 538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct wpa_ssid { 558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * next - Next network in global list 578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This pointer can be used to iterate over all networks. The head of 598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * this list is stored in the ssid field of struct wpa_config. 608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_ssid *next; 628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * pnext - Next network in per-priority list 658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This pointer can be used to iterate over all networks in the same 678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * priority class. The heads of these list are stored in the pssid 688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * fields of struct wpa_config. 698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpa_ssid *pnext; 718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * id - Unique id for the network 748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This identifier is used as a unique identifier for each network 768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * block when using the control interface. Each network is allocated an 778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * id when it is being created, either when reading the configuration 788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * file or when a new network is added through the control interface. 798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int id; 818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * priority - Priority group 848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * By default, all networks will get same priority group (0). If some 868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * of the networks are more desirable, this field can be used to change 878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the order in which wpa_supplicant goes through the networks when 888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * selecting a BSS. The priority groups will be iterated in decreasing 898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * priority (i.e., the larger the priority value, the sooner the 908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * network is matched against the scan results). Within each priority 918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * group, networks will be selected based on security policy, signal 928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * strength, etc. 938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are 958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * not using this priority to select the order for scanning. Instead, 968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * they try the networks in the order that used in the configuration 978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * file. 988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int priority; 1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ssid - Service set identifier (network name) 1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is the SSID for the network. For wireless interfaces, this is 1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * used to select which network will be used. If set to %NULL (or 1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ssid_len=0), any SSID can be used. For wired interfaces, this must 1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * be set to %NULL. Note: SSID may contain any characters, even nul 1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * (ASCII 0) and as such, this should not be assumed to be a nul 1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * terminated string. ssid_len defines how many characters are valid 1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and the ssid field is not guaranteed to be nul terminated. 1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 *ssid; 1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ssid_len - Length of the SSID 1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt size_t ssid_len; 1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * bssid - BSSID 1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * If set, this network block is used only when associating with the AP 1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * using the configured BSSID 1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * If this is a persistent P2P group (disabled == 2), this is the GO 1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Device Address. 1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 bssid[ETH_ALEN]; 1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * bssid_set - Whether BSSID is configured for this network 1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int bssid_set; 1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1365460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt * go_p2p_dev_addr - GO's P2P Device Address or all zeros if not set 1375460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt */ 1385460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt u8 go_p2p_dev_addr[ETH_ALEN]; 1395460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt 1405460547a121207cf7a99eac45e05fcdd83be3161Dmitry Shmidt /** 1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * psk - WPA pre-shared key (256 bits) 1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 psk[32]; 1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * psk_set - Whether PSK field is configured 1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int psk_set; 1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * passphrase - WPA ASCII passphrase 1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * If this is set, psk will be generated using the SSID and passphrase 1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * configured for the network. ASCII passphrase must be between 8 and 1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 63 characters (inclusive). 1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char *passphrase; 1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 16061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * ext_psk - PSK/passphrase name in external storage 16161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * 16261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * If this is set, PSK/passphrase will be fetched from external storage 16361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * when requesting association with the network. 16461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt */ 16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt char *ext_psk; 16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt /** 1688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * pairwise_cipher - Bitfield of allowed pairwise ciphers, WPA_CIPHER_* 1698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int pairwise_cipher; 1718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * group_cipher - Bitfield of allowed group ciphers, WPA_CIPHER_* 1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int group_cipher; 1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * key_mgmt - Bitfield of allowed key management protocols 1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA_KEY_MGMT_* 1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int key_mgmt; 1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 18504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * bg_scan_period - Background scan period in seconds, 0 to disable, or 18604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * -1 to indicate no change to default driver configuration 18704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */ 18804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt int bg_scan_period; 18904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 19004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt /** 1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * proto - Bitfield of allowed protocols, WPA_PROTO_* 1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int proto; 1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * auth_alg - Bitfield of allowed authentication algorithms 1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA_AUTH_ALG_* 1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int auth_alg; 2018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * scan_ssid - Scan this SSID with Probe Requests 2048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * scan_ssid can be used to scan for APs using hidden SSIDs. 2068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Note: Many drivers do not support this. ap_mode=2 can be used with 2078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * such drivers to use hidden SSIDs. 2088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int scan_ssid; 2108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef IEEE8021X_EAPOL 2128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define EAPOL_FLAG_REQUIRE_KEY_UNICAST BIT(0) 2138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define EAPOL_FLAG_REQUIRE_KEY_BROADCAST BIT(1) 2148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * eapol_flags - Bit field of IEEE 802.1X/EAPOL options (EAPOL_FLAG_*) 2168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int eapol_flags; 2188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * eap - EAP peer configuration for this network 2218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct eap_peer_config eap; 2238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* IEEE8021X_EAPOL */ 2248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define NUM_WEP_KEYS 4 2268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define MAX_WEP_KEY_LEN 16 2278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wep_key - WEP keys 2298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 wep_key[NUM_WEP_KEYS][MAX_WEP_KEY_LEN]; 2318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wep_key_len - WEP key lengths 2348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt size_t wep_key_len[NUM_WEP_KEYS]; 2368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wep_tx_keyidx - Default key index for TX frames using WEP 2398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int wep_tx_keyidx; 2418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * proactive_key_caching - Enable proactive key caching 2448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This field can be used to enable proactive key caching which is also 2468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * known as opportunistic PMKSA caching for WPA2. This is disabled (0) 247d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * by default unless default value is changed with the global okc=1 248d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * parameter. Enable by setting this to 1. 2498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Proactive key caching is used to make supplicant assume that the APs 2518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * are using the same PMK and generate PMKSA cache entries without 2528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * doing RSN pre-authentication. This requires support from the AP side 2538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * and is normally used with wireless switches that co-locate the 2548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * authenticator. 255d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 256d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * Internally, special value -1 is used to indicate that the parameter 257d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * was not specified in the configuration (i.e., default behavior is 258d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * followed). 2598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int proactive_key_caching; 2618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * mixed_cell - Whether mixed cells are allowed 2648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This option can be used to configure whether so called mixed cells, 2668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * i.e., networks that use both plaintext and encryption in the same 2678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * SSID, are allowed. This is disabled (0) by default. Enable by 2688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * setting this to 1. 2698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int mixed_cell; 2718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef IEEE8021X_EAPOL 2738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * leap - Number of EAP methods using LEAP 2768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This field should be set to 1 if LEAP is enabled. This is used to 2788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * select IEEE 802.11 authentication algorithm. 2798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int leap; 2818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * non_leap - Number of EAP methods not using LEAP 2848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This field should be set to >0 if any EAP method other than LEAP is 2868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enabled. This is used to select IEEE 802.11 authentication 2878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * algorithm. 2888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 2898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int non_leap; 2908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 2918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 2928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * eap_workaround - EAP workarounds enabled 2938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wpa_supplicant supports number of "EAP workarounds" to work around 2958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * interoperability issues with incorrectly behaving authentication 2968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * servers. This is recommended to be enabled by default because some 2978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * of the issues are present in large number of authentication servers. 2988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Strict EAP conformance mode can be configured by disabling 3008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * workarounds with eap_workaround = 0. 3018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt unsigned int eap_workaround; 3038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* IEEE8021X_EAPOL */ 3058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 3078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * mode - IEEE 802.11 operation mode (Infrastucture/IBSS) 3088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 0 = infrastructure (Managed) mode, i.e., associate with an AP. 3108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1 = IBSS (ad-hoc, peer-to-peer) 3128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2 = AP (access point) 3148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3 = P2P Group Owner (can be set in the configuration file) 3168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4 = P2P Group Formation (used internally; not in configuration 3188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * files) 3198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 320fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * Note: IBSS can only be used with key_mgmt NONE (plaintext and static 321fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * WEP) and WPA-PSK (with proto=RSN). In addition, key_mgmt=WPA-NONE 322fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * (fixed group key TKIP/CCMP) is available for backwards compatibility, 323fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * but its use is deprecated. WPA-None requires following network block 324fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * options: proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or 325fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * CCMP, but not both), and psk must also be set (either directly or 326fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt * using ASCII passphrase). 3278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt enum wpas_mode { 3298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPAS_MODE_INFRA = 0, 3308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPAS_MODE_IBSS = 1, 3318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPAS_MODE_AP = 2, 3328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPAS_MODE_P2P_GO = 3, 3338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt WPAS_MODE_P2P_GROUP_FORMATION = 4, 3348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt } mode; 3358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 3378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * disabled - Whether this network is currently disabled 3388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 0 = this network can be used (default). 3408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1 = this network block is disabled (can be enabled through 3418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ctrl_iface, e.g., with wpa_cli or wpa_gui). 3428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 2 = this network block includes parameters for a persistent P2P 3438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * group (can be used with P2P ctrl_iface commands) 3448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int disabled; 3468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 348d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * disabled_for_connect - Whether this network was temporarily disabled 349d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 350d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * This flag is used to reenable all the temporarily disabled networks 351d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * after either the success or failure of a WPS connection. 352d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt */ 353d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt int disabled_for_connect; 354d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 355d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt /** 3568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * peerkey - Whether PeerKey handshake for direct links is allowed 3578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is only used when both RSN/WPA2 and IEEE 802.11e (QoS) are 3598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * enabled. 3608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 0 = disabled (default) 3628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 1 = enabled 3638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int peerkey; 3658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 3678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * id_str - Network identifier string for external scripts 3688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This value is passed to external ctrl_iface monitors in 3708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPA_EVENT_CONNECTED event and wpa_cli sets this as WPA_ID_STR 3718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * environment variable for action scripts. 3728d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3738d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char *id_str; 3748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_IEEE80211W 3768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 3778d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * ieee80211w - Whether management frame protection is enabled 3788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This value is used to configure policy for management frame 3808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * protection (IEEE 802.11w). 0 = disabled, 1 = optional, 2 = required. 381d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * This is disabled by default unless the default value has been changed 382d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * with the global pmf=1/2 parameter. 383d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 384d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * Internally, special value 3 is used to indicate that the parameter 385d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * was not specified in the configuration (i.e., default behavior is 386d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * followed). 3878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 3888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt enum mfp_options ieee80211w; 3898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_IEEE80211W */ 3908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 3918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 3928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * frequency - Channel frequency in megahertz (MHz) for IBSS 3938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 3948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This value is used to configure the initial channel for IBSS (adhoc) 3958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * networks, e.g., 2412 = IEEE 802.11b/g channel 1. It is ignored in 3968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * the infrastructure mode. In addition, this value is only used by the 3978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * station that creates the IBSS. If an IBSS network with the 3988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * configured SSID is already present, the frequency of the network 3998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * will be used instead of this configured value. 4008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int frequency; 4028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 40361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt int ht40; 40461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 40568d0e3ed07847339aedfac8e02f50db68c702e52Dmitry Shmidt int vht; 40668d0e3ed07847339aedfac8e02f50db68c702e52Dmitry Shmidt 4078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * wpa_ptk_rekey - Maximum lifetime for PTK in seconds 4098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This value can be used to enforce rekeying of PTK to mitigate some 4118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * attacks against TKIP deficiencies. 4128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int wpa_ptk_rekey; 4148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * scan_freq - Array of frequencies to scan or %NULL for all 4178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is an optional zero-terminated array of frequencies in 4198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * megahertz (MHz) to include in scan requests when searching for this 4208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * network. This can be used to speed up scanning when the network is 4218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * known to not use all possible channels. 4228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int *scan_freq; 4248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * bgscan - Background scan and roaming parameters or %NULL if none 4278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is an optional set of parameters for background scanning and 4298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * roaming within a network (ESS) in following format: 4308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * <bgscan module name>:<module parameters> 4318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char *bgscan; 4338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 43504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * ignore_broadcast_ssid - Hide SSID in AP mode 43604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 43704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * Send empty SSID in beacons and ignore probe request frames that do 43804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * not specify full SSID, i.e., require stations to know SSID. 43904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * default: disabled (0) 44004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 1 = send empty (length=0) SSID in beacon and ignore probe request 44104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * for broadcast SSID 44204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 2 = clear SSID (ASCII 0), but keep the original length (this may be 44304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * required with some clients that do not support empty SSID) and 44404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * ignore probe requests for broadcast SSID 44504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */ 44604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt int ignore_broadcast_ssid; 44704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 44804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt /** 4498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * freq_list - Array of allowed frequencies or %NULL for all 4508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This is an optional zero-terminated array of frequencies in 4528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * megahertz (MHz) to allow for selecting the BSS. If set, scan results 4538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * that do not match any of the specified frequencies are not 4548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * considered when selecting a BSS. 4558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int *freq_list; 4578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4591f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * p2p_client_list - List of P2P Clients in a persistent group (GO) 4601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * 4611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * This is a list of P2P Clients (P2P Device Address) that have joined 4621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * the persistent group. This is maintained on the GO for persistent 4631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * group entries (disabled == 2). 4641f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 4651f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt u8 *p2p_client_list; 4661f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 4671f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /** 4681f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt * num_p2p_clients - Number of entries in p2p_client_list 4691f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt */ 4701f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt size_t num_p2p_clients; 4711f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 47261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifndef P2P_MAX_STORED_CLIENTS 47361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define P2P_MAX_STORED_CLIENTS 100 47461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#endif /* P2P_MAX_STORED_CLIENTS */ 47561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 4761f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt /** 477391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt * psk_list - Per-client PSKs (struct psk_list_entry) 478391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt */ 479391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt struct dl_list psk_list; 480391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt 481391c59f0632df8db1c325da1d31d479b2eedce45Dmitry Shmidt /** 4828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * p2p_group - Network generated as a P2P group (used internally) 4838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int p2p_group; 4858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * p2p_persistent_group - Whether this is a persistent group 4888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int p2p_persistent_group; 4908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * temporary - Whether this network is temporary and not to be saved 4938d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 4948d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int temporary; 4958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 4968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /** 4978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * export_keys - Whether keys may be exported 4988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 4998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * This attribute will be set when keys are determined through 5008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * WPS or similar so that they may be exported. 5018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 5028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int export_keys; 503c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 504c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#ifdef CONFIG_HT_OVERRIDES 505c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 506c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * disable_ht - Disable HT (IEEE 802.11n) for this network 507c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 508c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * By default, use it if it is available, but this can be configured 509c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * to 1 to have it disabled. 510c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 511c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt int disable_ht; 512c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 513c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 514c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * disable_ht40 - Disable HT40 for this network 515c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 516c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * By default, use it if it is available, but this can be configured 517c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * to 1 to have it disabled. 518c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 519c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt int disable_ht40; 520c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 521c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 522a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * disable_sgi - Disable SGI (Short Guard Interval) for this network 523a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * 524a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * By default, use it if it is available, but this can be configured 525a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt * to 1 to have it disabled. 526a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt */ 527a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt int disable_sgi; 528a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt 529a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt /** 530df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * disable_ldpc - Disable LDPC for this network 531df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * 532df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * By default, use it if it is available, but this can be configured 533df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt * to 1 to have it disabled. 534df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt */ 535df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt int disable_ldpc; 536df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt 537df5a7e4c5c64890c2425bb47d665bbce4992b676Dmitry Shmidt /** 53861593f02176862f4880ddefcb1f54cb5f5d9f043Dmitry Shmidt * ht40_intolerant - Indicate 40 MHz intolerant for this network 53961593f02176862f4880ddefcb1f54cb5f5d9f043Dmitry Shmidt */ 54061593f02176862f4880ddefcb1f54cb5f5d9f043Dmitry Shmidt int ht40_intolerant; 54161593f02176862f4880ddefcb1f54cb5f5d9f043Dmitry Shmidt 54261593f02176862f4880ddefcb1f54cb5f5d9f043Dmitry Shmidt /** 543c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * disable_max_amsdu - Disable MAX A-MSDU 544c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 545c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * A-MDSU will be 3839 bytes when disabled, or 7935 546c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * when enabled (assuming it is otherwise supported) 547c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * -1 (default) means do not apply any settings to the kernel. 548c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 549c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt int disable_max_amsdu; 550c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 551c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 552c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * ampdu_factor - Maximum A-MPDU Length Exponent 553c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 554c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * Value: 0-3, see 7.3.2.56.3 in IEEE Std 802.11n-2009. 555c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 556c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt int ampdu_factor; 557c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 558c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 559c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * ampdu_density - Minimum A-MPDU Start Spacing 560c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 561c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * Value: 0-7, see 7.3.2.56.3 in IEEE Std 802.11n-2009. 562c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 563c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt int ampdu_density; 564c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt 565c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt /** 566c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * ht_mcs - Allowed HT-MCS rates, in ASCII hex: ffff0000... 567c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * 568c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * By default (empty string): Use whatever the OS has configured. 569c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt */ 570c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt char *ht_mcs; 571c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#endif /* CONFIG_HT_OVERRIDES */ 57204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 5732f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt#ifdef CONFIG_VHT_OVERRIDES 5742f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt /** 5752f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * disable_vht - Disable VHT (IEEE 802.11ac) for this network 5762f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * 5772f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * By default, use it if it is available, but this can be configured 5782f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * to 1 to have it disabled. 5792f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt */ 5802f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt int disable_vht; 5812f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 5822f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt /** 5832f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * vht_capa - VHT capabilities to use 5842f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt */ 5852f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt unsigned int vht_capa; 5862f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 5872f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt /** 5882f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt * vht_capa_mask - mask for VHT capabilities 5892f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt */ 5902f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt unsigned int vht_capa_mask; 5912f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 5922f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt int vht_rx_mcs_nss_1, vht_rx_mcs_nss_2, 5932f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_rx_mcs_nss_3, vht_rx_mcs_nss_4, 5942f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_rx_mcs_nss_5, vht_rx_mcs_nss_6, 5952f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_rx_mcs_nss_7, vht_rx_mcs_nss_8; 5962f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt int vht_tx_mcs_nss_1, vht_tx_mcs_nss_2, 5972f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_tx_mcs_nss_3, vht_tx_mcs_nss_4, 5982f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_tx_mcs_nss_5, vht_tx_mcs_nss_6, 5992f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt vht_tx_mcs_nss_7, vht_tx_mcs_nss_8; 6002f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt#endif /* CONFIG_VHT_OVERRIDES */ 6012f023193a0fd630eb82ce6381b80911ad5a3462fDmitry Shmidt 60204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt /** 60304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * ap_max_inactivity - Timeout in seconds to detect STA's inactivity 60404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * 60504949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * This timeout value is used in AP mode to clean up inactive stations. 60604949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * By default: 300 seconds. 60704949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */ 60804949598a23f501be6eec21697465fd46a28840aDmitry Shmidt int ap_max_inactivity; 60904949598a23f501be6eec21697465fd46a28840aDmitry Shmidt 61004949598a23f501be6eec21697465fd46a28840aDmitry Shmidt /** 61104949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * dtim_period - DTIM period in Beacon intervals 61204949598a23f501be6eec21697465fd46a28840aDmitry Shmidt * By default: 2 61304949598a23f501be6eec21697465fd46a28840aDmitry Shmidt */ 61404949598a23f501be6eec21697465fd46a28840aDmitry Shmidt int dtim_period; 61561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 61661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt /** 6177a5e50a0554bee77a9da492ea3d86f46147f1671Dmitry Shmidt * beacon_int - Beacon interval (default: 100 TU) 6187a5e50a0554bee77a9da492ea3d86f46147f1671Dmitry Shmidt */ 6197a5e50a0554bee77a9da492ea3d86f46147f1671Dmitry Shmidt int beacon_int; 6207a5e50a0554bee77a9da492ea3d86f46147f1671Dmitry Shmidt 6217a5e50a0554bee77a9da492ea3d86f46147f1671Dmitry Shmidt /** 62261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * auth_failures - Number of consecutive authentication failures 62361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt */ 62461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt unsigned int auth_failures; 62561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt 62661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt /** 62761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * disabled_until - Network block disabled until this time if non-zero 62861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt */ 629fb79edc9df1f20461e90e478363d207348213d35Dmitry Shmidt struct os_reltime disabled_until; 630d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt 631d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt /** 632d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * parent_cred - Pointer to parent wpa_cred entry 633d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * 634d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * This pointer can be used to delete temporary networks when a wpa_cred 635d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * that was used to create them is removed. This pointer should not be 636d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt * dereferences since it may not be updated in all cases. 637d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt */ 638d5e4923d04122f81300fa68fb07d64ede28fd44dDmitry Shmidt void *parent_cred; 6395a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt 6405a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt#ifdef CONFIG_MACSEC 6415a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt /** 6425a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt * macsec_policy - Determines the policy for MACsec secure session 6435a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt * 6445a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt * 0: MACsec not in use (default) 6455a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt * 1: MACsec enabled - Should secure, accept key server's advice to 6465a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt * determine whether to use a secure session or not. 6475a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt */ 6485a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt int macsec_policy; 6495a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt#endif /* CONFIG_MACSEC */ 650c28170251eb54dbf64a9074a07fee377587425b2Dmitry Shmidt 651c28170251eb54dbf64a9074a07fee377587425b2Dmitry Shmidt#ifdef CONFIG_HS20 652c28170251eb54dbf64a9074a07fee377587425b2Dmitry Shmidt int update_identifier; 653c28170251eb54dbf64a9074a07fee377587425b2Dmitry Shmidt#endif /* CONFIG_HS20 */ 654661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt 655661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt unsigned int wps_run; 656661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt 657661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt /** 658661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * mac_addr - MAC address policy 659661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * 660661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * 0 = use permanent MAC address 661661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * 1 = use random MAC address for each ESS connection 662661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * 2 = like 1, but maintain OUI (with local admin bit set) 663661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * 664661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * Internally, special value -1 is used to indicate that the parameter 665661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * was not specified in the configuration (i.e., default behavior is 666661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt * followed). 667661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt */ 668661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt int mac_addr; 6698d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 6708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 6718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_SSID_H */ 672