summaryrefslogtreecommitdiff
path: root/libnm-util/nm-setting-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-util/nm-setting-private.h')
-rw-r--r--libnm-util/nm-setting-private.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/libnm-util/nm-setting-private.h b/libnm-util/nm-setting-private.h
index 485a667d37..a90721e93a 100644
--- a/libnm-util/nm-setting-private.h
+++ b/libnm-util/nm-setting-private.h
@@ -38,13 +38,26 @@ GType _nm_setting_lookup_setting_type (const char *name);
GType _nm_setting_lookup_setting_type_by_quark (GQuark error_quark);
gint _nm_setting_compare_priority (gconstpointer a, gconstpointer b);
-/* NM_SETTING_COMPARE_FLAG_CANDIDATE: check a whether a device-generated connection
- * can be meaningfully replaced by a configured connection. With this flag
- * the matching function is asymetric and only takes into account properties
- * mandated by the candidate configured connection. It is for internal use by
- * NetworkManager.
+/* NM_SETTING_COMPARE_FLAG_INFERRABLE: check whether a device-generated
+ * connection can be replaced by a already-defined connection. This flag only
+ * takes into account properties marked with the %NM_SETTING_PARAM_INFERRABLE
+ * flag.
*/
-#define NM_SETTING_COMPARE_FLAG_CANDIDATE 0x80000000
+#define NM_SETTING_COMPARE_FLAG_INFERRABLE 0x80000000
+
+/* The property of the #NMSetting should be considered during comparisons that
+ * use the %NM_SETTING_COMPARE_FLAG_INFERRABLE flag. Properties that don't have
+ * this flag, are ignored when doing an infrerrable comparison. This flag should
+ * be set on all properties that are read from the kernel or the system when a
+ * connection is generated. eg, IP addresses/routes can be read from the
+ * kernel, but the 'autoconnect' property cannot, so
+ * %NM_SETTING_IP4_CONFIG_ADDRESSES gets the INFERRABLE flag, but
+ * %NM_SETTING_CONNECTION_AUTOCONNECT would not.
+ *
+ * This flag should not be used with properties where the default cannot be
+ * read separately from the current value, like MTU or wired duplex mode.
+ */
+#define NM_SETTING_PARAM_INFERRABLE (1 << (4 + G_PARAM_USER_SHIFT))
/* Ensure the setting's GType is registered at library load time */
#define NM_SETTING_REGISTER_TYPE(x) \