diff options
author | Thomas Haller <thaller@redhat.com> | 2017-12-13 15:45:47 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-12-27 09:18:54 +0100 |
commit | 16e75d4db5a3fbc5e8b713fc6afcbab15540cd50 (patch) | |
tree | 60fbc7ca485d1de9632335ccddb3258346c2efda | |
parent | 6295865e0f088d6be796f9ad44454d79fc18eeab (diff) | |
download | NetworkManager-16e75d4db5a3fbc5e8b713fc6afcbab15540cd50.tar.gz |
wifi: configure wifi-backend per device
This allows to configure the wifi-backend per device, like
[device-wifi-backend-eth0]
match-device=interface-name:wlan0
wifi-backend=iwd
-rw-r--r-- | man/NetworkManager.conf.xml | 9 | ||||
-rw-r--r-- | src/devices/wifi/nm-wifi-factory.c | 9 | ||||
-rw-r--r-- | src/nm-config.h | 2 |
3 files changed, 15 insertions, 5 deletions
diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml index 231b7d017f..04f6b54b23 100644 --- a/man/NetworkManager.conf.xml +++ b/man/NetworkManager.conf.xml @@ -927,6 +927,15 @@ managed=1 </para> </listitem> </varlistentry> + <varlistentry id="wifi.backend"> + <term><varname>wifi.backend</varname></term> + <listitem> + <para> + Specify the Wi-Fi backend used for the device. Currently supported + are <literal>wpa_supplicant</literal> and <literal>iwd</literal> (experimental). + </para> + </listitem> + </varlistentry> <varlistentry> <term><varname>wifi.scan-generate-mac-address-mask</varname></term> <listitem> diff --git a/src/devices/wifi/nm-wifi-factory.c b/src/devices/wifi/nm-wifi-factory.c index 1272e94139..298b15f143 100644 --- a/src/devices/wifi/nm-wifi-factory.c +++ b/src/devices/wifi/nm-wifi-factory.c @@ -104,10 +104,11 @@ create_device (NMDeviceFactory *factory, if (plink->type != NM_LINK_TYPE_WIFI) return nm_device_olpc_mesh_new (iface); - backend = nm_config_data_get_value (NM_CONFIG_GET_DATA, - NM_CONFIG_KEYFILE_GROUP_MAIN, - NM_CONFIG_KEYFILE_KEY_MAIN_WIFI_BACKEND, - NM_CONFIG_GET_VALUE_STRIP); + backend = nm_config_data_get_device_config_by_pllink (NM_CONFIG_GET_DATA, + NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_BACKEND, + plink, + NULL); + nm_strstrip (backend); nm_log_dbg (LOGD_PLATFORM | LOGD_WIFI, "(%s) config: backend is %s, %i", iface, backend, WITH_IWD); if (!backend || !strcasecmp (backend, "wpa_supplicant")) diff --git a/src/nm-config.h b/src/nm-config.h index b99576abf3..7ba707aac0 100644 --- a/src/nm-config.h +++ b/src/nm-config.h @@ -64,7 +64,6 @@ #define NM_CONFIG_KEYFILE_KEY_MAIN_DEBUG "debug" #define NM_CONFIG_KEYFILE_KEY_MAIN_HOSTNAME_MODE "hostname-mode" #define NM_CONFIG_KEYFILE_KEY_MAIN_SLAVES_ORDER "slaves-order" -#define NM_CONFIG_KEYFILE_KEY_MAIN_WIFI_BACKEND "wifi-backend" #define NM_CONFIG_KEYFILE_KEY_LOGGING_BACKEND "backend" #define NM_CONFIG_KEYFILE_KEY_CONFIG_ENABLE "enable" #define NM_CONFIG_KEYFILE_KEY_ATOMIC_SECTION_WAS ".was" @@ -79,6 +78,7 @@ #define NM_CONFIG_KEYFILE_KEY_DEVICE_MANAGED "managed" #define NM_CONFIG_KEYFILE_KEY_DEVICE_IGNORE_CARRIER "ignore-carrier" #define NM_CONFIG_KEYFILE_KEY_DEVICE_SRIOV_NUM_VFS "sriov-num-vfs" +#define NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_BACKEND "wifi.backend" #define NM_CONFIG_KEYFILE_KEY_DEVICE_CARRIER_WAIT_TIMEOUT "carrier-wait-timeout" #define NM_CONFIG_KEYFILE_KEYPREFIX_WAS ".was." |