Make it clearer that ap_scan=2 mode should not be used with nl80211
[mech_eap.git] / wpa_supplicant / config_ssid.h
index 26b91bd..7ef326c 100644 (file)
@@ -13,8 +13,6 @@
 #include "utils/list.h"
 #include "eap_peer/eap_config.h"
 
-#define MAX_SSID_LEN 32
-
 
 #define DEFAULT_EAP_WORKAROUND ((unsigned int) -1)
 #define DEFAULT_EAPOL_FLAGS (EAPOL_FLAG_REQUIRE_KEY_UNICAST | \
 #define DEFAULT_PROTO (WPA_PROTO_WPA | WPA_PROTO_RSN)
 #define DEFAULT_KEY_MGMT (WPA_KEY_MGMT_PSK | WPA_KEY_MGMT_IEEE8021X)
 #define DEFAULT_PAIRWISE (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
-#define DEFAULT_GROUP (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP | \
-                      WPA_CIPHER_WEP104 | WPA_CIPHER_WEP40)
+#define DEFAULT_GROUP (WPA_CIPHER_CCMP | WPA_CIPHER_TKIP)
 #define DEFAULT_FRAGMENT_SIZE 1398
 
 #define DEFAULT_BG_SCAN_PERIOD -1
+#define DEFAULT_MESH_MAX_RETRIES 2
+#define DEFAULT_MESH_RETRY_TIMEOUT 40
+#define DEFAULT_MESH_CONFIRM_TIMEOUT 40
+#define DEFAULT_MESH_HOLDING_TIMEOUT 40
 #define DEFAULT_DISABLE_HT 0
 #define DEFAULT_DISABLE_HT40 0
 #define DEFAULT_DISABLE_SGI 0
@@ -128,6 +129,18 @@ struct wpa_ssid {
        u8 bssid[ETH_ALEN];
 
        /**
+        * bssid_blacklist - List of inacceptable BSSIDs
+        */
+       u8 *bssid_blacklist;
+       size_t num_bssid_blacklist;
+
+       /**
+        * bssid_blacklist - List of acceptable BSSIDs
+        */
+       u8 *bssid_whitelist;
+       size_t num_bssid_whitelist;
+
+       /**
         * bssid_set - Whether BSSID is configured for this network
         */
        int bssid_set;
@@ -165,6 +178,14 @@ struct wpa_ssid {
        char *ext_psk;
 
        /**
+        * mem_only_psk - Whether to keep PSK/passphrase only in memory
+        *
+        * 0 = allow psk/passphrase to be stored to the configuration file
+        * 1 = do not store psk/passphrase to the configuration file
+        */
+       int mem_only_psk;
+
+       /**
         * pairwise_cipher - Bitfield of allowed pairwise ciphers, WPA_CIPHER_*
         */
        int pairwise_cipher;
@@ -204,7 +225,9 @@ struct wpa_ssid {
         *
         * scan_ssid can be used to scan for APs using hidden SSIDs.
         * Note: Many drivers do not support this. ap_mode=2 can be used with
-        * such drivers to use hidden SSIDs.
+        * such drivers to use hidden SSIDs. Note2: Most nl80211-based drivers
+        * do support scan_ssid=1 and that should be used with them instead of
+        * ap_scan=2.
         */
        int scan_ssid;
 
@@ -317,6 +340,8 @@ struct wpa_ssid {
         * 4 = P2P Group Formation (used internally; not in configuration
         * files)
         *
+        * 5 = Mesh
+        *
         * Note: IBSS can only be used with key_mgmt NONE (plaintext and static
         * WEP) and WPA-PSK (with proto=RSN). In addition, key_mgmt=WPA-NONE
         * (fixed group key TKIP/CCMP) is available for backwards compatibility,
@@ -331,6 +356,7 @@ struct wpa_ssid {
                WPAS_MODE_AP = 2,
                WPAS_MODE_P2P_GO = 3,
                WPAS_MODE_P2P_GROUP_FORMATION = 4,
+               WPAS_MODE_MESH = 5,
        } mode;
 
        /**
@@ -400,6 +426,25 @@ struct wpa_ssid {
         */
        int frequency;
 
+       /**
+        * fixed_freq - Use fixed frequency for IBSS
+        */
+       int fixed_freq;
+
+       /**
+        * mesh_basic_rates - BSS Basic rate set for mesh network
+        *
+        */
+       int *mesh_basic_rates;
+
+       /**
+        * Mesh network plink parameters
+        */
+       int dot11MeshMaxRetries;
+       int dot11MeshRetryTimeout; /* msec */
+       int dot11MeshConfirmTimeout; /* msec */
+       int dot11MeshHoldingTimeout; /* msec */
+
        int ht40;
 
        int vht;
@@ -653,6 +698,27 @@ struct wpa_ssid {
 #endif /* CONFIG_HS20 */
 
        unsigned int wps_run;
+
+       /**
+        * mac_addr - MAC address policy
+        *
+        * 0 = use permanent MAC address
+        * 1 = use random MAC address for each ESS connection
+        * 2 = like 1, but maintain OUI (with local admin bit set)
+        *
+        * Internally, special value -1 is used to indicate that the parameter
+        * was not specified in the configuration (i.e., default behavior is
+        * followed).
+        */
+       int mac_addr;
+
+       /**
+        * no_auto_peer - Do not automatically peer with compatible mesh peers
+        *
+        * When unset, the reception of a beacon from a another mesh peer in
+        * this MBSS will trigger a peering attempt.
+        */
+       int no_auto_peer;
 };
 
 #endif /* CONFIG_SSID_H */