diff --git a/libnm-core/nm-dbus-interface.h b/libnm-core/nm-dbus-interface.h index 35f2335f56..1cf1c88812 100644 --- a/libnm-core/nm-dbus-interface.h +++ b/libnm-core/nm-dbus-interface.h @@ -89,7 +89,10 @@ /** * NMCapability: - * @NM_CAPABILITY_TEAM: Teams can be managed + * @NM_CAPABILITY_TEAM: Teams can be managed. This means the team device plugin + * is loaded. + * @NM_CAPABILITY_OVS: OpenVSwitch can be managed. This means the OVS device plugin + * is loaded. Since: 1.24, 1.22.2 * * #NMCapability names the numbers in the Capabilities property. * Capabilities are positive numbers. They are part of stable API @@ -101,6 +104,7 @@ */ typedef enum { NM_CAPABILITY_TEAM = 1, + NM_CAPABILITY_OVS = 2, } NMCapability; /** diff --git a/shared/nm-libnm-core-intern/nm-libnm-core-utils.h b/shared/nm-libnm-core-intern/nm-libnm-core-utils.h index 42e9fc6491..1449a8ba1c 100644 --- a/shared/nm-libnm-core-intern/nm-libnm-core-utils.h +++ b/shared/nm-libnm-core-intern/nm-libnm-core-utils.h @@ -95,4 +95,8 @@ nm_setting_ip_config_get_addr_family (NMSettingIPConfig *s_ip) * depends on other factors. */ #define NM_INFINIBAND_MAX_MTU ((guint) 65520) +/*****************************************************************************/ + +#define _NM_CAPABILITY_MAX NM_CAPABILITY_OVS + #endif /* __NM_LIBNM_SHARED_UTILS_H__ */ diff --git a/src/devices/ovs/nm-ovs-factory.c b/src/devices/ovs/nm-ovs-factory.c index d6dd13eb04..d1d79a1cf0 100644 --- a/src/devices/ovs/nm-ovs-factory.c +++ b/src/devices/ovs/nm-ovs-factory.c @@ -59,6 +59,7 @@ NM_DEVICE_FACTORY_DECLARE_TYPES ( G_MODULE_EXPORT NMDeviceFactory * nm_device_factory_create (GError **error) { + nm_manager_set_capability (NM_MANAGER_GET, NM_CAPABILITY_OVS); return (NMDeviceFactory *) g_object_new (NM_TYPE_OVS_FACTORY, NULL); } diff --git a/src/nm-manager.c b/src/nm-manager.c index 132cf5a0d8..3696c789be 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -7357,7 +7357,7 @@ nm_manager_set_capability (NMManager *self, gssize idx; g_return_if_fail (NM_IS_MANAGER (self)); - if (cap < 1 || cap > NM_CAPABILITY_TEAM) + if (cap < 1 || cap > _NM_CAPABILITY_MAX) g_return_if_reached (); cap_i = (guint32) cap;