diff options
author | Andy Kling <andreas.kling@peiker-cee.de> | 2019-02-20 10:20:14 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2019-07-29 11:00:24 +0200 |
commit | ed4dd32cb9910e5a20db17b1ffaa133971861f8c (patch) | |
tree | ca448e54ef63eced0928d312db8ff09218b2a63b /libnm-core/nm-setting-wireless.c | |
parent | f481ec71604b7d4113009c9363fe6064a2642dc2 (diff) | |
download | NetworkManager-ed4dd32cb9910e5a20db17b1ffaa133971861f8c.tar.gz |
libnm-core: 802-11-wireless.mode mesh requires band and channel
an essential feature of 802.11s is to allow moving/mobile mesh points
and adapt the topology dynamically. This includes starting a mesh point
not in range of others and establish the connection once it comes into
range. At the moment for this reason a mesh connection requires the
frequency to be fixed as supplicant does too.
Diffstat (limited to 'libnm-core/nm-setting-wireless.c')
-rw-r--r-- | libnm-core/nm-setting-wireless.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index 4f40d4ea85..3de3e9a94f 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -830,6 +830,16 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) } } + if ((g_strcmp0 (priv->mode, NM_SETTING_WIRELESS_MODE_MESH) == 0) && !(priv->channel && priv->band)) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_MISSING_PROPERTY, + _("'%s' requires '%s' and '%s' property"), + priv->mode, NM_SETTING_WIRELESS_BAND, NM_SETTING_WIRELESS_CHANNEL); + g_prefix_error (error, "%s.%s: ", NM_SETTING_WIRELESS_SETTING_NAME, NM_SETTING_WIRELESS_MODE); + return FALSE; + } + if (priv->bssid && !nm_utils_hwaddr_valid (priv->bssid, ETH_ALEN)) { g_set_error_literal (error, NM_CONNECTION_ERROR, |