wifi: ignore monitor interfaces

If a monitor interface is created, NM will grab that interface
and change it to station mode.  That's not very nice.

https://mail.gnome.org/archives/networkmanager-list/2016-February/msg00068.html
(cherry picked from commit 751a37bf43)
This commit is contained in:
Dan Williams 2016-02-23 14:35:53 -06:00
parent ab667dd885
commit a3c0166a20

View file

@ -64,6 +64,7 @@ static NMDevice *
new_link (NMDeviceFactory *factory, NMPlatformLink *plink, gboolean *out_ignore, GError **error)
{
NMDeviceWifiCapabilities capabilities;
NM80211Mode mode;
g_return_val_if_fail (plink != NULL, NULL);
g_return_val_if_fail (NM_IN_SET (plink->type, NM_LINK_TYPE_WIFI, NM_LINK_TYPE_OLPC_MESH), NULL);
@ -75,6 +76,16 @@ new_link (NMDeviceFactory *factory, NMPlatformLink *plink, gboolean *out_ignore,
return NULL;
}
/* Ignore monitor-mode and other unhandled interface types.
* FIXME: keep TYPE_MONITOR devices in UNAVAILABLE state and manage
* them if/when they change to a handled type.
*/
mode = nm_platform_wifi_get_mode (NM_PLATFORM_GET, plink->ifindex);
if (mode == NM_802_11_MODE_UNKNOWN) {
*out_ignore = TRUE;
return NULL;
}
if (plink->type == NM_LINK_TYPE_WIFI)
return nm_device_wifi_new (plink, capabilities);
else