summary refs log tree commit diff
path: root/src/core/devices/nm-device-private.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2022-02-14 19:23:28 +0100
committerMichael Biebl <biebl@debian.org>2022-02-14 19:23:28 +0100
commit2f94dba7385fd0e0ef19a06eb4a2fcf6c43d7946 (patch)
treee2222f5577115985dd52044d2991253403cdd952 /src/core/devices/nm-device-private.h
parent88c227d90a6b7b388c5c85d72802a0ca8f05ed5c (diff)
New upstream version 1.35.91 upstream/1.35.91
Diffstat (limited to 'src/core/devices/nm-device-private.h')
-rw-r--r--src/core/devices/nm-device-private.h139
1 files changed, 56 insertions, 83 deletions
diff --git a/src/core/devices/nm-device-private.h b/src/core/devices/nm-device-private.h
index b55e8b43..790bb823 100644
--- a/src/core/devices/nm-device-private.h
+++ b/src/core/devices/nm-device-private.h
@@ -8,6 +8,7 @@
 #define __NETWORKMANAGER_DEVICE_PRIVATE_H__
 
 #include "nm-device.h"
+#include "nm-l3-config-data.h"
 
 /* This file should only be used by subclasses of NMDevice */
 
@@ -21,12 +22,6 @@ enum NMActStageReturn {
     NM_ACT_STAGE_RETURN_FAILURE = 0, /* Hard failure of activation */
     NM_ACT_STAGE_RETURN_SUCCESS,     /* Activation stage done */
     NM_ACT_STAGE_RETURN_POSTPONE,    /* Long-running operation in progress */
-    NM_ACT_STAGE_RETURN_IP_WAIT,     /* IP config stage is waiting (state IP_WAIT) */
-    NM_ACT_STAGE_RETURN_IP_DONE,     /* IP config stage is done (state IP_DONE),
-                                      * For the ip-config stage, this is similar to
-                                      * NM_ACT_STAGE_RETURN_SUCCESS, except that no
-                                      * IP config should be committed. */
-    NM_ACT_STAGE_RETURN_IP_FAIL, /* IP config stage failed (state IP_FAIL), activation may proceed */
 };
 
 #define NM_DEVICE_CAP_NONSTANDARD_CARRIER 0x80000000
@@ -34,8 +29,6 @@ enum NMActStageReturn {
 
 #define NM_DEVICE_CAP_INTERNAL_MASK 0xc0000000
 
-void nm_device_arp_announce(NMDevice *self);
-
 NMSettings *nm_device_get_settings(NMDevice *self);
 
 NMManager *nm_device_get_manager(NMDevice *self);
@@ -44,17 +37,13 @@ gboolean nm_device_set_ip_ifindex(NMDevice *self, int ifindex);
 
 gboolean nm_device_set_ip_iface(NMDevice *self, const char *iface);
 
-void nm_device_activate_schedule_stage3_ip_config_start(NMDevice *device);
-
-gboolean nm_device_activate_stage3_ip_start(NMDevice *self, int addr_family);
-
 gboolean nm_device_bring_up(NMDevice *self, gboolean wait, gboolean *no_firmware);
 
 void nm_device_take_down(NMDevice *self, gboolean block);
 
 gboolean nm_device_take_over_link(NMDevice *self, int ifindex, char **old_name, GError **error);
 
-gboolean nm_device_hw_addr_set(NMDevice *  device,
+gboolean nm_device_hw_addr_set(NMDevice   *device,
                                const char *addr,
                                const char *detail,
                                gboolean    set_permanent);
@@ -65,52 +54,7 @@ void nm_device_set_firmware_missing(NMDevice *self, gboolean missing);
 
 void nm_device_activate_schedule_stage1_device_prepare(NMDevice *device, gboolean do_sync);
 void nm_device_activate_schedule_stage2_device_config(NMDevice *device, gboolean do_sync);
-
-void
-nm_device_activate_schedule_ip_config_result(NMDevice *device, int addr_family, NMIPConfig *config);
-
-void nm_device_activate_schedule_ip_config_timeout(NMDevice *device, int addr_family);
-
-NMDeviceIPState nm_device_activate_get_ip_state(NMDevice *self, int addr_family);
-
-static inline gboolean
-nm_device_activate_ip4_state_in_conf(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET) == NM_DEVICE_IP_STATE_CONF;
-}
-
-static inline gboolean
-nm_device_activate_ip4_state_in_wait(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET) == NM_DEVICE_IP_STATE_WAIT;
-}
-
-static inline gboolean
-nm_device_activate_ip4_state_done(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET) == NM_DEVICE_IP_STATE_DONE;
-}
-
-static inline gboolean
-nm_device_activate_ip6_state_in_conf(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET6) == NM_DEVICE_IP_STATE_CONF;
-}
-
-static inline gboolean
-nm_device_activate_ip6_state_in_wait(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET6) == NM_DEVICE_IP_STATE_WAIT;
-}
-
-static inline gboolean
-nm_device_activate_ip6_state_done(NMDevice *self)
-{
-    return nm_device_activate_get_ip_state(self, AF_INET6) == NM_DEVICE_IP_STATE_DONE;
-}
-
-gboolean nm_device_dhcp4_renew(NMDevice *device, gboolean release);
-gboolean nm_device_dhcp6_renew(NMDevice *device, gboolean release);
+void nm_device_activate_schedule_stage3_ip_config(NMDevice *device, gboolean do_sync);
 
 void nm_device_recheck_available_connections(NMDevice *device);
 
@@ -122,46 +66,75 @@ void nm_device_master_release_slaves(NMDevice *self);
 void nm_device_set_carrier(NMDevice *self, gboolean carrier);
 
 void nm_device_queue_recheck_assume(NMDevice *device);
-void nm_device_queue_recheck_available(NMDevice *          device,
+void nm_device_queue_recheck_available(NMDevice           *device,
                                        NMDeviceStateReason available_reason,
                                        NMDeviceStateReason unavailable_reason);
 
-void nm_device_set_dev2_ip_config(NMDevice *device, int addr_family, NMIPConfig *config);
-
 gboolean nm_device_hw_addr_is_explict(NMDevice *device);
 
-void nm_device_ip_method_failed(NMDevice *self, int addr_family, NMDeviceStateReason reason);
+NMDeviceIPState nm_device_devip_get_state(NMDevice *self, int addr_family);
 
-gboolean nm_device_sysctl_ip_conf_set(NMDevice *  self,
+void nm_device_devip_set_state_full(NMDevice             *self,
+                                    int                   addr_family,
+                                    NMDeviceIPState       ip_state,
+                                    const NML3ConfigData *l3cd,
+                                    NMDeviceStateReason   failed_reason);
+
+static inline void
+nm_device_devip_set_state(NMDevice             *self,
+                          int                   addr_family,
+                          NMDeviceIPState       ip_state,
+                          const NML3ConfigData *l3cd)
+{
+    nm_assert(NM_IS_DEVICE(self));
+    nm_assert_addr_family_or_unspec(addr_family);
+    nm_assert(!l3cd || NM_IS_L3_CONFIG_DATA(l3cd));
+    nm_assert(NM_IN_SET(ip_state, NM_DEVICE_IP_STATE_PENDING, NM_DEVICE_IP_STATE_READY));
+
+    nm_device_devip_set_state_full(self, addr_family, ip_state, l3cd, NM_DEVICE_STATE_REASON_NONE);
+}
+
+static inline void
+nm_device_devip_set_failed(NMDevice *self, int addr_family, NMDeviceStateReason reason)
+{
+    nm_assert(NM_IS_DEVICE(self));
+    nm_assert_addr_family_or_unspec(addr_family);
+    nm_assert(reason != NM_DEVICE_STATE_REASON_NONE);
+
+    nm_device_devip_set_state_full(self, addr_family, NM_DEVICE_IP_STATE_FAILED, NULL, reason);
+}
+
+gboolean nm_device_sysctl_ip_conf_set(NMDevice   *self,
                                       int         addr_family,
                                       const char *property,
                                       const char *value);
 
-NMIP4Config *nm_device_ip4_config_new(NMDevice *self);
+NML3ConfigData *nm_device_create_l3_config_data(NMDevice *self, NMIPConfigSource source);
 
-NMIP6Config *nm_device_ip6_config_new(NMDevice *self);
+const NML3ConfigData *nm_device_create_l3_config_data_from_connection(NMDevice     *self,
+                                                                      NMConnection *connection);
 
-NMIPConfig *nm_device_ip_config_new(NMDevice *self, int addr_family);
+void nm_device_ip_method_dhcp4_start(NMDevice *self);
 
-NML3ConfigData *nm_device_create_l3_config_data(NMDevice *self, NMIPConfigSource source);
+void nm_device_ip_method_autoconf6_start(NMDevice *self);
 
 /*****************************************************************************/
 
-gint64 nm_device_get_configured_mtu_from_connection_default(NMDevice *  self,
+gint64 nm_device_get_configured_mtu_from_connection_default(NMDevice   *self,
                                                             const char *property_name,
                                                             guint32     max_mtu);
 
-guint32 nm_device_get_configured_mtu_from_connection(NMDevice *         device,
+guint32 nm_device_get_configured_mtu_from_connection(NMDevice          *device,
                                                      GType              setting_type,
                                                      NMDeviceMtuSource *out_source);
 
-guint32 nm_device_get_configured_mtu_for_wired(NMDevice *         self,
+guint32 nm_device_get_configured_mtu_for_wired(NMDevice          *self,
                                                NMDeviceMtuSource *out_source,
-                                               gboolean *         out_force);
+                                               gboolean          *out_force);
 
-guint32 nm_device_get_configured_mtu_wired_parent(NMDevice *         self,
+guint32 nm_device_get_configured_mtu_wired_parent(NMDevice          *self,
                                                   NMDeviceMtuSource *out_source,
-                                                  gboolean *         out_force);
+                                                  gboolean          *out_force);
 
 void nm_device_commit_mtu(NMDevice *self);
 
@@ -177,26 +150,26 @@ void nm_device_commit_mtu(NMDevice *self);
         _types;                                                                 \
     }))
 
-gboolean _nm_device_hash_check_invalid_keys(GHashTable *       hash,
-                                            const char *       setting_name,
-                                            GError **          error,
+gboolean _nm_device_hash_check_invalid_keys(GHashTable        *hash,
+                                            const char        *setting_name,
+                                            GError           **error,
                                             const char *const *whitelist);
 #define nm_device_hash_check_invalid_keys(hash, setting_name, error, ...) \
     _nm_device_hash_check_invalid_keys(hash, setting_name, error, NM_MAKE_STRV(__VA_ARGS__))
 
 gboolean nm_device_match_parent(NMDevice *device, const char *parent);
-gboolean nm_device_match_parent_hwaddr(NMDevice *    device,
+gboolean nm_device_match_parent_hwaddr(NMDevice     *device,
                                        NMConnection *connection,
                                        gboolean      fail_if_no_hwaddr);
 
 /*****************************************************************************/
 
-void nm_device_auth_request(NMDevice *                     self,
-                            GDBusMethodInvocation *        context,
-                            NMConnection *                 connection,
-                            const char *                   permission,
+void nm_device_auth_request(NMDevice                      *self,
+                            GDBusMethodInvocation         *context,
+                            NMConnection                  *connection,
+                            const char                    *permission,
                             gboolean                       allow_interaction,
-                            GCancellable *                 cancellable,
+                            GCancellable                  *cancellable,
                             NMManagerDeviceAuthRequestFunc callback,
                             gpointer                       user_data);