diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2019-01-24 15:32:46 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2019-07-15 15:15:50 +0000 |
commit | 0691e993c946611a0e89623d76be8566b11e92c0 (patch) | |
tree | a5c5f92d940c2c4779e302a2d2d5e869f3164897 | |
parent | c6be7163035461aa76104b7bd1b4ca70c916cdf1 (diff) | |
download | NetworkManager-0691e993c946611a0e89623d76be8566b11e92c0.tar.gz |
wifi-utils: recognize Mesh interfaces
-rw-r--r-- | src/platform/wifi/nm-wifi-utils-nl80211.c | 9 | ||||
-rw-r--r-- | src/platform/wifi/nm-wifi-utils.c | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/platform/wifi/nm-wifi-utils-nl80211.c b/src/platform/wifi/nm-wifi-utils-nl80211.c index cf71e243bc..fe7ce94fc0 100644 --- a/src/platform/wifi/nm-wifi-utils-nl80211.c +++ b/src/platform/wifi/nm-wifi-utils-nl80211.c @@ -199,6 +199,9 @@ nl80211_iface_info_handler (struct nl_msg *msg, void *arg) case NL80211_IFTYPE_STATION: info->mode = NM_802_11_MODE_INFRA; break; + case NL80211_IFTYPE_MESH_POINT: + info->mode = NM_802_11_MODE_MESH; + break; } return NL_SKIP; @@ -241,6 +244,9 @@ wifi_nl80211_set_mode (NMWifiUtils *data, const NM80211Mode mode) case NM_802_11_MODE_AP: NLA_PUT_U32 (msg, NL80211_ATTR_IFTYPE, NL80211_IFTYPE_AP); break; + case NM_802_11_MODE_MESH: + NLA_PUT_U32 (msg, NL80211_ATTR_IFTYPE, NL80211_IFTYPE_MESH_POINT); + break; default: g_assert_not_reached (); } @@ -896,6 +902,9 @@ static int nl80211_wiphy_info_handler (struct nl_msg *msg, void *arg) info->caps |= NM_WIFI_DEVICE_CAP_AP; else if (nla_type (nl_mode) == NL80211_IFTYPE_ADHOC) info->caps |= NM_WIFI_DEVICE_CAP_ADHOC; + + if (nla_type (nl_mode) == NL80211_IFTYPE_MESH_POINT) + info->caps |= NM_WIFI_DEVICE_CAP_MESH; } } diff --git a/src/platform/wifi/nm-wifi-utils.c b/src/platform/wifi/nm-wifi-utils.c index 1682bb1ea5..1e42db6af0 100644 --- a/src/platform/wifi/nm-wifi-utils.c +++ b/src/platform/wifi/nm-wifi-utils.c @@ -89,7 +89,8 @@ nm_wifi_utils_set_mode (NMWifiUtils *data, const NM80211Mode mode) g_return_val_if_fail (data != NULL, FALSE); g_return_val_if_fail ( (mode == NM_802_11_MODE_INFRA) || (mode == NM_802_11_MODE_AP) - || (mode == NM_802_11_MODE_ADHOC), FALSE); + || (mode == NM_802_11_MODE_ADHOC) + || (mode == NM_802_11_MODE_MESH), FALSE); klass = NM_WIFI_UTILS_GET_CLASS (data); |