802.11 settings handlers


Defines

#define __setting   __table_entry ( SETTINGS, 01 )
 Declare a configuration setting.

Functions

static int net80211_check_settings_update (void)
 Check for 802.11 SSID or key updates.

Variables

struct settings_applicator
net80211_applicator 
__settings_applicator
 802.11 settings applicator
struct setting
net80211_ssid_setting 
__setting
 The network name to associate with.

Define Documentation

struct setting user_class_setting __setting   __table_entry ( SETTINGS, 01 ) [read]

Declare a configuration setting.

Domain name setting.

Use cached network settings.

DHCP user class setting.

iSCSI reverse password setting

iSCSI reverse username setting

Default gateway setting.

IPv4 subnet mask setting.

The cryptographic key to use.

Whether to use active scanning.

Priority setting.

Password setting.

Username setting.

Root path setting.

Filename setting.

In order to associate with a hidden SSID, it's necessary to use an active scan (send probe packets). If this setting is nonzero, an active scan on the 2.4GHz band will be used to associate.

For hex WEP keys, as is common, this must be entered using the normal gPXE method for entering hex settings; an ASCII string of hex characters will not behave as expected.

Definition at line 44 of file settings.h.


Function Documentation

static int net80211_check_settings_update ( void   )  [static]

Check for 802.11 SSID or key updates.

This acts as a settings applicator; if the user changes netX/ssid, and netX is currently open, the association task will be invoked again. If the user changes the encryption key, the current security handshaker will be asked to update its state to match; if that is impossible without reassociation, we reassociate.

Definition at line 1904 of file net80211.c.

References net80211_handshaker::change_key, DBGC, net80211_device::essid, fetch_string_setting(), net80211_device::handshaker, IEEE80211_MAX_SSID_LEN, net80211_device::list, list_for_each_entry, NET80211_AUTO_SSID, net80211_autoassociate(), net80211_device::netdev, netdev_is_open(), netdev_settings(), net80211_device::state, and strcmp().

01905 {
01906         struct net80211_device *dev;
01907         char ssid[IEEE80211_MAX_SSID_LEN + 1];
01908         int key_reassoc;
01909 
01910         list_for_each_entry ( dev, &net80211_devices, list ) {
01911                 if ( ! netdev_is_open ( dev->netdev ) )
01912                         continue;
01913 
01914                 key_reassoc = 0;
01915                 if ( dev->handshaker && dev->handshaker->change_key &&
01916                      dev->handshaker->change_key ( dev ) < 0 )
01917                         key_reassoc = 1;
01918 
01919                 fetch_string_setting ( netdev_settings ( dev->netdev ),
01920                                        &net80211_ssid_setting, ssid,
01921                                        IEEE80211_MAX_SSID_LEN + 1 );
01922 
01923                 if ( key_reassoc ||
01924                      ( ! ( ! ssid[0] && ( dev->state & NET80211_AUTO_SSID ) ) &&
01925                        strcmp ( ssid, dev->essid ) != 0 ) ) {
01926                         DBGC ( dev, "802.11 %p updating association: "
01927                                "%s -> %s\n", dev, dev->essid, ssid );
01928                         net80211_autoassociate ( dev );
01929                 }
01930         }
01931 
01932         return 0;
01933 }


Variable Documentation

struct settings_applicator net80211_applicator __settings_applicator

Initial value:

802.11 settings applicator

When the SSID is changed, this will cause any open devices to re-associate; when the encryption key is changed, we similarly update their state.

Definition at line 221 of file net80211.c.

struct setting net80211_key_setting __setting [read]

Initial value:

 {
        .name = "ssid",
        .description = "802.11 SSID (network name)",
        .type = &setting_type_string,
}
The network name to associate with.

Hostname setting.

802.11 encryption key setting

The cryptographic key to use.

Whether to use active scanning.

If this is blank, we scan for all networks and use the one with the greatest signal strength.

In order to associate with a hidden SSID, it's necessary to use an active scan (send probe packets). If this setting is nonzero, an active scan on the 2.4GHz band will be used to associate.

For hex WEP keys, as is common, this must be entered using the normal gPXE method for entering hex settings; an ASCII string of hex characters will not behave as expected.

Definition at line 230 of file net80211.c.


Generated on Tue Apr 6 20:01:57 2010 for gPXE by  doxygen 1.5.7.1