hostapd
Public Types | Public Attributes | List of all members
wpa_ssid Struct Reference

struct wpa_ssid - Network configuration data More...

#include <config_ssid.h>

Public Types

enum  wpas_mode {
  WPAS_MODE_INFRA = 0, WPAS_MODE_IBSS = 1, WPAS_MODE_AP = 2, WPAS_MODE_P2P_GO = 3,
  WPAS_MODE_P2P_GROUP_FORMATION = 4, WPAS_MODE_MESH = 5
}
 mode - IEEE 802.11 operation mode (Infrastucture/IBSS) More...
 

Public Attributes

struct wpa_ssidnext
 next - Next network in global list More...
 
struct wpa_ssidpnext
 pnext - Next network in per-priority list More...
 
int id
 id - Unique id for the network More...
 
int priority
 priority - Priority group More...
 
u8 * ssid
 ssid - Service set identifier (network name) More...
 
size_t ssid_len
 ssid_len - Length of the SSID
 
u8 bssid [ETH_ALEN]
 bssid - BSSID More...
 
u8 * bssid_blacklist
 bssid_blacklist - List of inacceptable BSSIDs
 
size_t num_bssid_blacklist
 
u8 * bssid_whitelist
 bssid_blacklist - List of acceptable BSSIDs
 
size_t num_bssid_whitelist
 
int bssid_set
 bssid_set - Whether BSSID is configured for this network
 
u8 go_p2p_dev_addr [ETH_ALEN]
 go_p2p_dev_addr - GO's P2P Device Address or all zeros if not set
 
u8 psk [32]
 psk - WPA pre-shared key (256 bits)
 
int psk_set
 psk_set - Whether PSK field is configured
 
char * passphrase
 passphrase - WPA ASCII passphrase More...
 
char * ext_psk
 ext_psk - PSK/passphrase name in external storage More...
 
int mem_only_psk
 mem_only_psk - Whether to keep PSK/passphrase only in memory More...
 
int pairwise_cipher
 pairwise_cipher - Bitfield of allowed pairwise ciphers, WPA_CIPHER_*
 
int group_cipher
 group_cipher - Bitfield of allowed group ciphers, WPA_CIPHER_*
 
int key_mgmt
 key_mgmt - Bitfield of allowed key management protocols More...
 
int bg_scan_period
 bg_scan_period - Background scan period in seconds, 0 to disable, or -1 to indicate no change to default driver configuration
 
int proto
 proto - Bitfield of allowed protocols, WPA_PROTO_*
 
int auth_alg
 auth_alg - Bitfield of allowed authentication algorithms More...
 
int scan_ssid
 scan_ssid - Scan this SSID with Probe Requests More...
 
u8 wep_key [NUM_WEP_KEYS][MAX_WEP_KEY_LEN]
 wep_key - WEP keys
 
size_t wep_key_len [NUM_WEP_KEYS]
 wep_key_len - WEP key lengths
 
int wep_tx_keyidx
 wep_tx_keyidx - Default key index for TX frames using WEP
 
int proactive_key_caching
 proactive_key_caching - Enable proactive key caching More...
 
int mixed_cell
 mixed_cell - Whether mixed cells are allowed More...
 
enum wpa_ssid::wpas_mode mode
 
int pbss
 pbss - Whether to use PBSS. More...
 
int disabled
 disabled - Whether this network is currently disabled More...
 
int disabled_for_connect
 disabled_for_connect - Whether this network was temporarily disabled More...
 
int peerkey
 peerkey - Whether PeerKey handshake for direct links is allowed More...
 
char * id_str
 id_str - Network identifier string for external scripts More...
 
int frequency
 frequency - Channel frequency in megahertz (MHz) for IBSS More...
 
int fixed_freq
 fixed_freq - Use fixed frequency for IBSS
 
int * mesh_basic_rates
 mesh_basic_rates - BSS Basic rate set for mesh network More...
 
int dot11MeshMaxRetries
 Mesh network plink parameters.
 
int dot11MeshRetryTimeout
 
int dot11MeshConfirmTimeout
 
int dot11MeshHoldingTimeout
 
int ht40
 
int vht
 
u8 max_oper_chwidth
 
unsigned int vht_center_freq2
 
int wpa_ptk_rekey
 wpa_ptk_rekey - Maximum lifetime for PTK in seconds More...
 
int group_rekey
 group_rekey - Group rekeying time in seconds More...
 
int * scan_freq
 scan_freq - Array of frequencies to scan or NULL for all More...
 
char * bgscan
 bgscan - Background scan and roaming parameters or NULL if none More...
 
int ignore_broadcast_ssid
 ignore_broadcast_ssid - Hide SSID in AP mode More...
 
int * freq_list
 freq_list - Array of allowed frequencies or NULL for all More...
 
u8 * p2p_client_list
 p2p_client_list - List of P2P Clients in a persistent group (GO) More...
 
size_t num_p2p_clients
 num_p2p_clients - Number of entries in p2p_client_list
 
struct dl_list psk_list
 psk_list - Per-client PSKs (struct psk_list_entry)
 
int p2p_group
 p2p_group - Network generated as a P2P group (used internally)
 
int p2p_persistent_group
 p2p_persistent_group - Whether this is a persistent group
 
int temporary
 temporary - Whether this network is temporary and not to be saved
 
int export_keys
 export_keys - Whether keys may be exported More...
 
int ap_max_inactivity
 ap_max_inactivity - Timeout in seconds to detect STA's inactivity More...
 
int dtim_period
 dtim_period - DTIM period in Beacon intervals By default: 2
 
int beacon_int
 beacon_int - Beacon interval (default: 100 TU)
 
unsigned int auth_failures
 auth_failures - Number of consecutive authentication failures
 
struct os_reltime disabled_until
 disabled_until - Network block disabled until this time if non-zero
 
void * parent_cred
 parent_cred - Pointer to parent wpa_cred entry More...
 
unsigned int wps_run
 
int mac_addr
 mac_addr - MAC address policy More...
 
int no_auto_peer
 no_auto_peer - Do not automatically peer with compatible mesh peers More...
 
int wps_disabled
 wps_disabled - WPS disabled in AP mode More...
 

Detailed Description

struct wpa_ssid - Network configuration data

This structure includes all the configuration variables for a network. This data is included in the per-interface configuration data as an element of the network list, struct wpa_config::ssid. Each network block in the configuration is mapped to a struct wpa_ssid instance.

Member Enumeration Documentation

§ wpas_mode

mode - IEEE 802.11 operation mode (Infrastucture/IBSS)

0 = infrastructure (Managed) mode, i.e., associate with an AP.

1 = IBSS (ad-hoc, peer-to-peer)

2 = AP (access point)

3 = P2P Group Owner (can be set in the configuration file)

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, but its use is deprecated. WPA-None requires following network block options: proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not both), and psk must also be set (either directly or using ASCII passphrase).

Member Data Documentation

§ ap_max_inactivity

int wpa_ssid::ap_max_inactivity

ap_max_inactivity - Timeout in seconds to detect STA's inactivity

This timeout value is used in AP mode to clean up inactive stations. By default: 300 seconds.

§ auth_alg

int wpa_ssid::auth_alg

auth_alg - Bitfield of allowed authentication algorithms

WPA_AUTH_ALG_*

§ bgscan

char* wpa_ssid::bgscan

bgscan - Background scan and roaming parameters or NULL if none

This is an optional set of parameters for background scanning and roaming within a network (ESS) in following format: <bgscan module="" name>="">:<module parameters>="">

§ bssid

u8 wpa_ssid::bssid[ETH_ALEN]

bssid - BSSID

If set, this network block is used only when associating with the AP using the configured BSSID

If this is a persistent P2P group (disabled == 2), this is the GO Device Address.

§ disabled

int wpa_ssid::disabled

disabled - Whether this network is currently disabled

0 = this network can be used (default). 1 = this network block is disabled (can be enabled through ctrl_iface, e.g., with wpa_cli or wpa_gui). 2 = this network block includes parameters for a persistent P2P group (can be used with P2P ctrl_iface commands)

§ disabled_for_connect

int wpa_ssid::disabled_for_connect

disabled_for_connect - Whether this network was temporarily disabled

This flag is used to reenable all the temporarily disabled networks after either the success or failure of a WPS connection.

§ export_keys

int wpa_ssid::export_keys

export_keys - Whether keys may be exported

This attribute will be set when keys are determined through WPS or similar so that they may be exported.

§ ext_psk

char* wpa_ssid::ext_psk

ext_psk - PSK/passphrase name in external storage

If this is set, PSK/passphrase will be fetched from external storage when requesting association with the network.

§ freq_list

int* wpa_ssid::freq_list

freq_list - Array of allowed frequencies or NULL for all

This is an optional zero-terminated array of frequencies in megahertz (MHz) to allow for selecting the BSS. If set, scan results that do not match any of the specified frequencies are not considered when selecting a BSS.

§ frequency

int wpa_ssid::frequency

frequency - Channel frequency in megahertz (MHz) for IBSS

This value is used to configure the initial channel for IBSS (adhoc) networks, e.g., 2412 = IEEE 802.11b/g channel 1. It is ignored in the infrastructure mode. In addition, this value is only used by the station that creates the IBSS. If an IBSS network with the configured SSID is already present, the frequency of the network will be used instead of this configured value.

§ group_rekey

int wpa_ssid::group_rekey

group_rekey - Group rekeying time in seconds

This value, if non-zero, is used as the dot11RSNAConfigGroupRekeyTime parameter when operating in Authenticator role in IBSS.

§ id

int wpa_ssid::id

id - Unique id for the network

This identifier is used as a unique identifier for each network block when using the control interface. Each network is allocated an id when it is being created, either when reading the configuration file or when a new network is added through the control interface.

§ id_str

char* wpa_ssid::id_str

id_str - Network identifier string for external scripts

This value is passed to external ctrl_iface monitors in WPA_EVENT_CONNECTED event and wpa_cli sets this as WPA_ID_STR environment variable for action scripts.

§ ignore_broadcast_ssid

int wpa_ssid::ignore_broadcast_ssid

ignore_broadcast_ssid - Hide SSID in AP mode

Send empty SSID in beacons and ignore probe request frames that do not specify full SSID, i.e., require stations to know SSID. default: disabled (0) 1 = send empty (length=0) SSID in beacon and ignore probe request for broadcast SSID 2 = clear SSID (ASCII 0), but keep the original length (this may be required with some clients that do not support empty SSID) and ignore probe requests for broadcast SSID

§ key_mgmt

int wpa_ssid::key_mgmt

key_mgmt - Bitfield of allowed key management protocols

WPA_KEY_MGMT_*

§ mac_addr

int wpa_ssid::mac_addr

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).

§ mem_only_psk

int wpa_ssid::mem_only_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

§ mesh_basic_rates

int* wpa_ssid::mesh_basic_rates

mesh_basic_rates - BSS Basic rate set for mesh network

§ mixed_cell

int wpa_ssid::mixed_cell

mixed_cell - Whether mixed cells are allowed

This option can be used to configure whether so called mixed cells, i.e., networks that use both plaintext and encryption in the same SSID, are allowed. This is disabled (0) by default. Enable by setting this to 1.

§ next

struct wpa_ssid* wpa_ssid::next

next - Next network in global list

This pointer can be used to iterate over all networks. The head of this list is stored in the ssid field of struct wpa_config.

§ no_auto_peer

int wpa_ssid::no_auto_peer

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.

§ p2p_client_list

u8* wpa_ssid::p2p_client_list

p2p_client_list - List of P2P Clients in a persistent group (GO)

This is a list of P2P Clients (P2P Device Address) that have joined the persistent group. This is maintained on the GO for persistent group entries (disabled == 2).

§ parent_cred

void* wpa_ssid::parent_cred

parent_cred - Pointer to parent wpa_cred entry

This pointer can be used to delete temporary networks when a wpa_cred that was used to create them is removed. This pointer should not be dereferences since it may not be updated in all cases.

§ passphrase

char* wpa_ssid::passphrase

passphrase - WPA ASCII passphrase

If this is set, psk will be generated using the SSID and passphrase configured for the network. ASCII passphrase must be between 8 and 63 characters (inclusive).

§ pbss

int wpa_ssid::pbss

pbss - Whether to use PBSS.

Relevant to DMG networks only. 0 = do not use PBSS 1 = use PBSS 2 = don't care (not allowed in AP mode) Used together with mode configuration. When mode is AP, it means to start a PCP instead of a regular AP. When mode is INFRA it means connect to a PCP instead of AP. In this mode you can also specify 2 (don't care) meaning connect to either AP or PCP. P2P_GO and P2P_GROUP_FORMATION modes must use PBSS in DMG network.

§ peerkey

int wpa_ssid::peerkey

peerkey - Whether PeerKey handshake for direct links is allowed

This is only used when both RSN/WPA2 and IEEE 802.11e (QoS) are enabled.

0 = disabled (default) 1 = enabled

§ pnext

struct wpa_ssid* wpa_ssid::pnext

pnext - Next network in per-priority list

This pointer can be used to iterate over all networks in the same priority class. The heads of these list are stored in the pssid fields of struct wpa_config.

§ priority

int wpa_ssid::priority

priority - Priority group

By default, all networks will get same priority group (0). If some of the networks are more desirable, this field can be used to change the order in which wpa_supplicant goes through the networks when selecting a BSS. The priority groups will be iterated in decreasing priority (i.e., the larger the priority value, the sooner the network is matched against the scan results). Within each priority group, networks will be selected based on security policy, signal strength, etc.

Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not using this priority to select the order for scanning. Instead, they try the networks in the order that used in the configuration file.

§ proactive_key_caching

int wpa_ssid::proactive_key_caching

proactive_key_caching - Enable proactive key caching

This field can be used to enable proactive key caching which is also known as opportunistic PMKSA caching for WPA2. This is disabled (0) by default unless default value is changed with the global okc=1 parameter. Enable by setting this to 1.

Proactive key caching is used to make supplicant assume that the APs are using the same PMK and generate PMKSA cache entries without doing RSN pre-authentication. This requires support from the AP side and is normally used with wireless switches that co-locate the authenticator.

Internally, special value -1 is used to indicate that the parameter was not specified in the configuration (i.e., default behavior is followed).

§ scan_freq

int* wpa_ssid::scan_freq

scan_freq - Array of frequencies to scan or NULL for all

This is an optional zero-terminated array of frequencies in megahertz (MHz) to include in scan requests when searching for this network. This can be used to speed up scanning when the network is known to not use all possible channels.

§ scan_ssid

int wpa_ssid::scan_ssid

scan_ssid - Scan this SSID with Probe Requests

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. Note2: Most nl80211-based drivers do support scan_ssid=1 and that should be used with them instead of ap_scan=2.

§ ssid

u8* wpa_ssid::ssid

ssid - Service set identifier (network name)

This is the SSID for the network. For wireless interfaces, this is used to select which network will be used. If set to NULL (or ssid_len=0), any SSID can be used. For wired interfaces, this must be set to NULL. Note: SSID may contain any characters, even nul (ASCII 0) and as such, this should not be assumed to be a nul terminated string. ssid_len defines how many characters are valid and the ssid field is not guaranteed to be nul terminated.

§ wpa_ptk_rekey

int wpa_ssid::wpa_ptk_rekey

wpa_ptk_rekey - Maximum lifetime for PTK in seconds

This value can be used to enforce rekeying of PTK to mitigate some attacks against TKIP deficiencies.

§ wps_disabled

int wpa_ssid::wps_disabled

wps_disabled - WPS disabled in AP mode

0 = WPS enabled and configured (default) 1 = WPS disabled


The documentation for this struct was generated from the following file: