about summary refs log tree commit diff
path: root/src/libnm-core-public/nm-setting-ip4-config.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2025-02-12 13:46:50 +0100
committerMichael Biebl <biebl@debian.org>2025-02-12 13:46:50 +0100
commit8bdf070ff046f482f6eb5e2b15ebc216f5d1e3da (patch)
treef706478d189d54c6532e8863d4b0d5ff5575af60 /src/libnm-core-public/nm-setting-ip4-config.h
parent818258cf34b83fbc754633295e1052d4752d7b15 (diff)
New upstream version 1.51.90 upstream/1.51.90
Diffstat (limited to 'src/libnm-core-public/nm-setting-ip4-config.h')
-rw-r--r--src/libnm-core-public/nm-setting-ip4-config.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/libnm-core-public/nm-setting-ip4-config.h b/src/libnm-core-public/nm-setting-ip4-config.h
index 323fe14d..c40a7603 100644
--- a/src/libnm-core-public/nm-setting-ip4-config.h
+++ b/src/libnm-core-public/nm-setting-ip4-config.h
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID               "dhcp-client-id"
 #define NM_SETTING_IP4_CONFIG_DHCP_FQDN                    "dhcp-fqdn"
 #define NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER "dhcp-vendor-class-identifier"
+#define NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED     "dhcp-ipv6-only-preferred"
 #define NM_SETTING_IP4_CONFIG_LINK_LOCAL                   "link-local"
 
 /**
@@ -87,7 +88,9 @@ G_BEGIN_DECLS
  *   "link-local".
  * @NM_SETTING_IP4_LL_DISABLED: Disable IPv4 link-local protocol.
  * @NM_SETTING_IP4_LL_ENABLED: Enable the IPv4 link-local protocol regardless what other protocols
- * such as DHCP or manually assigned IP addresses might be active.
+ *   such as DHCP or manually assigned IP addresses might be active.
+ * @NM_SETTING_IP4_LL_FALLBACK: Since 1.52. This sets an IPv4 link-local address if no other IPv4
+ *   address is set, dynamically removing/re-adding it depending on DHCP leases.
  *
  * #NMSettingIP4LinkLocal values indicate whether IPv4 link-local address protocol should be enabled.
  *
@@ -98,8 +101,26 @@ typedef enum {
     NM_SETTING_IP4_LL_AUTO     = 1,
     NM_SETTING_IP4_LL_DISABLED = 2,
     NM_SETTING_IP4_LL_ENABLED  = 3,
+    NM_SETTING_IP4_LL_FALLBACK = 4,
 } NMSettingIP4LinkLocal;
 
+/**
+ * NMSettingIP4DhcpIpv6OnlyPreferred:
+ * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT: use the global default value
+ * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO: the option is disabled
+ * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES: the option is enabled
+ *
+ * #NMSettingIP4DhcpIpv6OnlyPreferred values specify if the "IPv6-Only Preferred"
+ * option (RFC 8925) for DHCPv4 is enabled.
+ *
+ * Since: 1.52
+ */
+typedef enum {
+    NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT = -1,
+    NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO      = 0,
+    NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES     = 1,
+} NMSettingIP4DhcpIpv6OnlyPreferred;
+
 typedef struct _NMSettingIP4ConfigClass NMSettingIP4ConfigClass;
 
 GType nm_setting_ip4_config_get_type(void);
@@ -116,6 +137,10 @@ const char *nm_setting_ip4_config_get_dhcp_vendor_class_identifier(NMSettingIP4C
 NM_AVAILABLE_IN_1_42
 NMSettingIP4LinkLocal nm_setting_ip4_config_get_link_local(NMSettingIP4Config *setting);
 
+NM_AVAILABLE_IN_1_52
+NMSettingIP4DhcpIpv6OnlyPreferred
+nm_setting_ip4_config_get_dhcp_ipv6_only_preferred(NMSettingIP4Config *setting);
+
 G_END_DECLS
 
 #endif /* __NM_SETTING_IP4_CONFIG_H__ */