mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-07 14:50:24 +01:00
core: add "nm-device-utils.[ch]" with simple helper functions
"nm-device.c" is huge, and it does complicated things like handling the state of the device and IP configuration. It also contains simpler, individual functions, like converting enums to strings. Let's move those trivial functions to a new module, so that the remaining part is smaller. "nm-device-utils.[ch]" should only contain simpler functions that have no complex behavior or state. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/840
This commit is contained in:
parent
037a94e837
commit
0bc5a2c76f
7 changed files with 274 additions and 235 deletions
|
|
@ -2427,6 +2427,8 @@ src_core_libNetworkManager_la_SOURCES = \
|
|||
src/core/devices/nm-acd-manager.h \
|
||||
src/core/devices/nm-lldp-listener.c \
|
||||
src/core/devices/nm-lldp-listener.h \
|
||||
src/core/devices/nm-device-utils.c \
|
||||
src/core/devices/nm-device-utils.h \
|
||||
src/core/devices/nm-device.c \
|
||||
src/core/devices/nm-device.h \
|
||||
src/core/devices/nm-device-ethernet-utils.c \
|
||||
|
|
|
|||
|
|
@ -17,14 +17,6 @@ typedef enum {
|
|||
NM_DEVICE_STAGE_STATE_COMPLETED = 2,
|
||||
} NMDeviceStageState;
|
||||
|
||||
typedef enum {
|
||||
NM_DEVICE_IP_STATE_NONE,
|
||||
NM_DEVICE_IP_STATE_WAIT,
|
||||
NM_DEVICE_IP_STATE_CONF,
|
||||
NM_DEVICE_IP_STATE_DONE,
|
||||
NM_DEVICE_IP_STATE_FAIL,
|
||||
} NMDeviceIPState;
|
||||
|
||||
enum NMActStageReturn {
|
||||
NM_ACT_STAGE_RETURN_FAILURE = 0, /* Hard failure of activation */
|
||||
NM_ACT_STAGE_RETURN_SUCCESS, /* Activation stage done */
|
||||
|
|
|
|||
154
src/core/devices/nm-device-utils.c
Normal file
154
src/core/devices/nm-device-utils.c
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#include "src/core/nm-default-daemon.h"
|
||||
|
||||
#include "nm-device-utils.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(
|
||||
nm_device_state_queued_state_to_str,
|
||||
NMDeviceState,
|
||||
NM_UTILS_LOOKUP_DEFAULT(NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "???"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNKNOWN,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNMANAGED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unmanaged"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNAVAILABLE,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_DISCONNECTED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "disconnected"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_PREPARE,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "prepare"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_CONFIG,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_NEED_AUTH,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "need-auth"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_IP_CONFIG,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "ip-config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_IP_CHECK,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "ip-check"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_SECONDARIES,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "secondaries"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_ACTIVATED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "activated"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_DEACTIVATING,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "deactivating"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_FAILED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "failed"), );
|
||||
|
||||
const char *
|
||||
nm_device_state_to_str(NMDeviceState state)
|
||||
{
|
||||
return nm_device_state_queued_state_to_str(state)
|
||||
+ NM_STRLEN(NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE);
|
||||
}
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(
|
||||
nm_device_state_reason_to_str,
|
||||
NMDeviceStateReason,
|
||||
NM_UTILS_LOOKUP_DEFAULT(NULL),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_UNKNOWN, "unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NOW_MANAGED, "managed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NOW_UNMANAGED, "unmanaged"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONFIG_FAILED, "config-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE, "ip-config-unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED, "ip-config-expired"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NO_SECRETS, "no-secrets"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT, "supplicant-disconnect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_CONFIG_FAILED,
|
||||
"supplicant-config-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_FAILED, "supplicant-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_TIMEOUT, "supplicant-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_START_FAILED, "ppp-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_DISCONNECT, "ppp-disconnect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_FAILED, "ppp-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_START_FAILED, "dhcp-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_ERROR, "dhcp-error"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_FAILED, "dhcp-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SHARED_START_FAILED, "sharing-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SHARED_FAILED, "sharing-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_START_FAILED, "autoip-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_ERROR, "autoip-error"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_FAILED, "autoip-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_BUSY, "modem-busy"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE, "modem-no-dialtone"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER, "modem-no-carrier"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT, "modem-dial-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED, "modem-dial-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED, "modem-init-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_APN_FAILED, "gsm-apn-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING,
|
||||
"gsm-registration-idle"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED,
|
||||
"gsm-registration-denied"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT,
|
||||
"gsm-registration-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED,
|
||||
"gsm-registration-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED, "gsm-pin-check-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_FIRMWARE_MISSING, "firmware-missing"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_REMOVED, "removed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SLEEPING, "sleeping"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONNECTION_REMOVED, "connection-removed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_USER_REQUESTED, "user-requested"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CARRIER, "carrier-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED, "connection-assumed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE, "supplicant-available"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NOT_FOUND, "modem-not-found"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_BT_FAILED, "bluetooth-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_NOT_INSERTED, "gsm-sim-not-inserted"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_PIN_REQUIRED, "gsm-sim-pin-required"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_PUK_REQUIRED, "gsm-sim-puk-required"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_WRONG, "gsm-sim-wrong"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_INFINIBAND_MODE, "infiniband-mode"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED, "dependency-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_BR2684_FAILED, "br2684-bridge-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE,
|
||||
"modem-manager-unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SSID_NOT_FOUND, "ssid-not-found"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED,
|
||||
"secondary-connection-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DCB_FCOE_FAILED, "dcb-fcoe-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_TEAMD_CONTROL_FAILED, "teamd-control-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_FAILED, "modem-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_AVAILABLE, "modem-available"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SIM_PIN_INCORRECT, "sim-pin-incorrect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NEW_ACTIVATION, "new-activation"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PARENT_CHANGED, "parent-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED,
|
||||
"parent-managed-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_OVSDB_FAILED, "ovsdb-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE, "ip-address-duplicate"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED, "ip-method-unsupported"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED,
|
||||
"sriov-configuration-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PEER_NOT_FOUND, "peer-not-found"), );
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(nm_device_mtu_source_to_str,
|
||||
NMDeviceMtuSource,
|
||||
NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_PARENT, "parent"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_IP_CONFIG, "ip-config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_CONNECTION,
|
||||
"connection"), );
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(nm_device_sys_iface_state_to_str,
|
||||
NMDeviceSysIfaceState,
|
||||
NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_EXTERNAL, "external"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_ASSUME, "assume"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_MANAGED, "managed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_REMOVED,
|
||||
"removed"), );
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(nm_device_ip_state_to_str,
|
||||
NMDeviceIPState,
|
||||
NM_UTILS_LOOKUP_DEFAULT_WARN("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_WAIT, "wait"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_CONF, "conf"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_DONE, "done"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_FAIL, "fail"), );
|
||||
88
src/core/devices/nm-device-utils.h
Normal file
88
src/core/devices/nm-device-utils.h
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#ifndef __DEVICES_NM_DEVICE_UTILS_H__
|
||||
#define __DEVICES_NM_DEVICE_UTILS_H__
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
const char *nm_device_state_to_str(NMDeviceState state);
|
||||
const char *nm_device_state_reason_to_str(NMDeviceStateReason reason);
|
||||
|
||||
#define nm_device_state_reason_to_str_a(reason) \
|
||||
NM_UTILS_LOOKUP_STR_A(nm_device_state_reason_to_str, reason)
|
||||
|
||||
static inline NMDeviceStateReason
|
||||
nm_device_state_reason_check(NMDeviceStateReason reason)
|
||||
{
|
||||
/* the device-state-reason serves mostly informational purpose during a state
|
||||
* change. In some cases however, decisions are made based on the reason.
|
||||
* I tend to think that interpreting the state reason to derive some behaviors
|
||||
* is confusing, because the cause and effect are so far apart.
|
||||
*
|
||||
* This function is here to mark source that inspects the reason to make
|
||||
* a decision -- contrary to places that set the reason. Thus, by grepping
|
||||
* for nm_device_state_reason_check() you can find the "effect" to a certain
|
||||
* reason.
|
||||
*/
|
||||
return reason;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#define NM_PENDING_ACTION_AUTOACTIVATE "autoactivate"
|
||||
#define NM_PENDING_ACTION_IN_STATE_CHANGE "in-state-change"
|
||||
#define NM_PENDING_ACTION_RECHECK_AVAILABLE "recheck-available"
|
||||
#define NM_PENDING_ACTION_CARRIER_WAIT "carrier-wait"
|
||||
#define NM_PENDING_ACTION_WAITING_FOR_SUPPLICANT "waiting-for-supplicant"
|
||||
#define NM_PENDING_ACTION_WIFI_SCAN "wifi-scan"
|
||||
#define NM_PENDING_ACTION_WAITING_FOR_COMPANION "waiting-for-companion"
|
||||
#define NM_PENDING_ACTION_LINK_INIT "link-init"
|
||||
|
||||
#define NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "queued-state-change-"
|
||||
#define NM_PENDING_ACTIONPREFIX_ACTIVATION "activation-"
|
||||
|
||||
const char *nm_device_state_queued_state_to_str(NMDeviceState state);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef enum {
|
||||
NM_DEVICE_MTU_SOURCE_NONE,
|
||||
NM_DEVICE_MTU_SOURCE_PARENT,
|
||||
NM_DEVICE_MTU_SOURCE_IP_CONFIG,
|
||||
NM_DEVICE_MTU_SOURCE_CONNECTION,
|
||||
} NMDeviceMtuSource;
|
||||
|
||||
const char *nm_device_mtu_source_to_str(NMDeviceMtuSource mtu_source);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef enum _nm_packed {
|
||||
NM_DEVICE_SYS_IFACE_STATE_EXTERNAL,
|
||||
NM_DEVICE_SYS_IFACE_STATE_ASSUME,
|
||||
NM_DEVICE_SYS_IFACE_STATE_MANAGED,
|
||||
|
||||
/* the REMOVED state applies when the device is manually set to unmanaged
|
||||
* or the link was externally removed. In both cases, we move the device
|
||||
* to UNMANAGED state, without touching the link -- be it, because the link
|
||||
* is already gone or because we want to release it (give it up).
|
||||
*/
|
||||
NM_DEVICE_SYS_IFACE_STATE_REMOVED,
|
||||
} NMDeviceSysIfaceState;
|
||||
|
||||
const char *nm_device_sys_iface_state_to_str(NMDeviceSysIfaceState sys_iface_state);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef enum {
|
||||
NM_DEVICE_IP_STATE_NONE,
|
||||
NM_DEVICE_IP_STATE_WAIT,
|
||||
NM_DEVICE_IP_STATE_CONF,
|
||||
NM_DEVICE_IP_STATE_DONE,
|
||||
NM_DEVICE_IP_STATE_FAIL,
|
||||
} NMDeviceIPState;
|
||||
|
||||
const char *nm_device_ip_state_to_str(NMDeviceIPState ip_state);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#endif /* __DEVICES_NM_DEVICE_UTILS_H__ */
|
||||
|
|
@ -770,139 +770,6 @@ static gboolean device_link_changed(NMDevice *self);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static NM_UTILS_LOOKUP_STR_DEFINE(
|
||||
queued_state_to_string,
|
||||
NMDeviceState,
|
||||
NM_UTILS_LOOKUP_DEFAULT(NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "???"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNKNOWN,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNMANAGED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unmanaged"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_UNAVAILABLE,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_DISCONNECTED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "disconnected"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_PREPARE,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "prepare"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_CONFIG,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_NEED_AUTH,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "need-auth"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_IP_CONFIG,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "ip-config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_IP_CHECK,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "ip-check"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_SECONDARIES,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "secondaries"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_ACTIVATED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "activated"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_DEACTIVATING,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "deactivating"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_FAILED,
|
||||
NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "failed"), );
|
||||
|
||||
const char *
|
||||
nm_device_state_to_str(NMDeviceState state)
|
||||
{
|
||||
return queued_state_to_string(state) + NM_STRLEN(NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE);
|
||||
}
|
||||
|
||||
NM_UTILS_LOOKUP_STR_DEFINE(
|
||||
nm_device_state_reason_to_str,
|
||||
NMDeviceStateReason,
|
||||
NM_UTILS_LOOKUP_DEFAULT(NULL),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_UNKNOWN, "unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NOW_MANAGED, "managed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NOW_UNMANAGED, "unmanaged"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONFIG_FAILED, "config-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE, "ip-config-unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED, "ip-config-expired"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NO_SECRETS, "no-secrets"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT, "supplicant-disconnect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_CONFIG_FAILED,
|
||||
"supplicant-config-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_FAILED, "supplicant-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_TIMEOUT, "supplicant-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_START_FAILED, "ppp-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_DISCONNECT, "ppp-disconnect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PPP_FAILED, "ppp-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_START_FAILED, "dhcp-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_ERROR, "dhcp-error"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DHCP_FAILED, "dhcp-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SHARED_START_FAILED, "sharing-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SHARED_FAILED, "sharing-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_START_FAILED, "autoip-start-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_ERROR, "autoip-error"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_AUTOIP_FAILED, "autoip-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_BUSY, "modem-busy"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE, "modem-no-dialtone"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER, "modem-no-carrier"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT, "modem-dial-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED, "modem-dial-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED, "modem-init-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_APN_FAILED, "gsm-apn-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING,
|
||||
"gsm-registration-idle"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED,
|
||||
"gsm-registration-denied"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT,
|
||||
"gsm-registration-timeout"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED,
|
||||
"gsm-registration-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED, "gsm-pin-check-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_FIRMWARE_MISSING, "firmware-missing"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_REMOVED, "removed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SLEEPING, "sleeping"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONNECTION_REMOVED, "connection-removed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_USER_REQUESTED, "user-requested"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CARRIER, "carrier-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED, "connection-assumed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE, "supplicant-available"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_NOT_FOUND, "modem-not-found"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_BT_FAILED, "bluetooth-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_NOT_INSERTED, "gsm-sim-not-inserted"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_PIN_REQUIRED, "gsm-sim-pin-required"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_PUK_REQUIRED, "gsm-sim-puk-required"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_GSM_SIM_WRONG, "gsm-sim-wrong"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_INFINIBAND_MODE, "infiniband-mode"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED, "dependency-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_BR2684_FAILED, "br2684-bridge-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE,
|
||||
"modem-manager-unavailable"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SSID_NOT_FOUND, "ssid-not-found"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED,
|
||||
"secondary-connection-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_DCB_FCOE_FAILED, "dcb-fcoe-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_TEAMD_CONTROL_FAILED, "teamd-control-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_FAILED, "modem-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_MODEM_AVAILABLE, "modem-available"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SIM_PIN_INCORRECT, "sim-pin-incorrect"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_NEW_ACTIVATION, "new-activation"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PARENT_CHANGED, "parent-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED,
|
||||
"parent-managed-changed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_OVSDB_FAILED, "ovsdb-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE, "ip-address-duplicate"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED, "ip-method-unsupported"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED,
|
||||
"sriov-configuration-failed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_STATE_REASON_PEER_NOT_FOUND, "peer-not-found"), );
|
||||
|
||||
#define reason_to_string_a(reason) NM_UTILS_LOOKUP_STR_A(nm_device_state_reason_to_str, reason)
|
||||
|
||||
static NM_UTILS_LOOKUP_STR_DEFINE(mtu_source_to_str,
|
||||
NMDeviceMtuSource,
|
||||
NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_PARENT, "parent"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_IP_CONFIG,
|
||||
"ip-config"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_MTU_SOURCE_CONNECTION,
|
||||
"connection"), );
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static void
|
||||
_hostname_resolver_free(HostnameResolver *resolver)
|
||||
{
|
||||
|
|
@ -2523,15 +2390,6 @@ applied_config_reset_nameservers(AppliedConfig *config)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static NM_UTILS_LOOKUP_STR_DEFINE(
|
||||
_sys_iface_state_to_str,
|
||||
NMDeviceSysIfaceState,
|
||||
NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_EXTERNAL, "external"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_ASSUME, "assume"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_MANAGED, "managed"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_SYS_IFACE_STATE_REMOVED, "removed"), );
|
||||
|
||||
NMDeviceSysIfaceState
|
||||
nm_device_sys_iface_state_get(NMDevice *self)
|
||||
{
|
||||
|
|
@ -2570,8 +2428,8 @@ nm_device_sys_iface_state_set(NMDevice *self, NMDeviceSysIfaceState sys_iface_st
|
|||
if (priv->sys_iface_state != sys_iface_state) {
|
||||
_LOGT(LOGD_DEVICE,
|
||||
"sys-iface-state: %s -> %s",
|
||||
_sys_iface_state_to_str(priv->sys_iface_state),
|
||||
_sys_iface_state_to_str(sys_iface_state));
|
||||
nm_device_sys_iface_state_to_str(priv->sys_iface_state),
|
||||
nm_device_sys_iface_state_to_str(sys_iface_state));
|
||||
priv->sys_iface_state_ = sys_iface_state;
|
||||
}
|
||||
|
||||
|
|
@ -2848,15 +2706,6 @@ _add_capabilities(NMDevice *self, NMDeviceCapabilities capabilities)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static NM_UTILS_LOOKUP_STR_DEFINE(_ip_state_to_string,
|
||||
NMDeviceIPState,
|
||||
NM_UTILS_LOOKUP_DEFAULT_WARN("unknown"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_NONE, "none"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_WAIT, "wait"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_CONF, "conf"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_DONE, "done"),
|
||||
NM_UTILS_LOOKUP_STR_ITEM(NM_DEVICE_IP_STATE_FAIL, "fail"), );
|
||||
|
||||
static void
|
||||
_set_ip_state(NMDevice *self, int addr_family, NMDeviceIPState new_state)
|
||||
{
|
||||
|
|
@ -2872,7 +2721,7 @@ _set_ip_state(NMDevice *self, int addr_family, NMDeviceIPState new_state)
|
|||
"ip%c-state: set to %d (%s)",
|
||||
nm_utils_addr_family_to_char(addr_family),
|
||||
(int) new_state,
|
||||
_ip_state_to_string(new_state));
|
||||
nm_device_ip_state_to_str(new_state));
|
||||
|
||||
priv->ip_state_x_[IS_IPv4] = new_state;
|
||||
|
||||
|
|
@ -9294,7 +9143,7 @@ dhcp4_fail(NMDevice *self, NMDhcpState dhcp_state)
|
|||
|
||||
_LOGD(LOGD_DHCP4,
|
||||
"DHCPv4 failed (ip_state %s, was_active %d)",
|
||||
_ip_state_to_string(priv->ip_state_4),
|
||||
nm_device_ip_state_to_str(priv->ip_state_4),
|
||||
priv->dhcp_data_4.was_active);
|
||||
|
||||
/* The client is always left running after a failure. */
|
||||
|
|
@ -9740,7 +9589,7 @@ dhcp6_fail(NMDevice *self, NMDhcpState dhcp_state)
|
|||
|
||||
_LOGD(LOGD_DHCP6,
|
||||
"DHCPv6 failed (ip_state %s, was_active %d)",
|
||||
_ip_state_to_string(priv->ip_state_6),
|
||||
nm_device_ip_state_to_str(priv->ip_state_6),
|
||||
priv->dhcp_data_6.was_active);
|
||||
|
||||
/* The client is always left running after a failure. */
|
||||
|
|
@ -10530,9 +10379,9 @@ _commit_mtu(NMDevice *self, const NMIP4Config *config)
|
|||
_LOGT(LOGD_DEVICE,
|
||||
"mtu: value %u from source '%s' (%u), current source '%s' (%u)%s",
|
||||
(guint) mtu,
|
||||
mtu_source_to_str(source),
|
||||
nm_device_mtu_source_to_str(source),
|
||||
(guint) source,
|
||||
mtu_source_to_str(priv->mtu_source),
|
||||
nm_device_mtu_source_to_str(priv->mtu_source),
|
||||
(guint) priv->mtu_source,
|
||||
force ? " (forced)" : "");
|
||||
}
|
||||
|
|
@ -14926,7 +14775,7 @@ _set_unmanaged_flags(NMDevice * self,
|
|||
flags,
|
||||
NM_PRINT_FMT_QUOTED(allow_state_transition,
|
||||
", reason ",
|
||||
reason_to_string_a(reason),
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
transition_state ? ", transition-state" : "",
|
||||
""));
|
||||
|
||||
|
|
@ -15946,7 +15795,7 @@ nm_device_cleanup(NMDevice *self, NMDeviceStateReason reason, CleanupType cleanu
|
|||
else
|
||||
_LOGD(LOGD_DEVICE,
|
||||
"deactivating device (reason '%s') [%d]",
|
||||
reason_to_string_a(reason),
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
reason);
|
||||
|
||||
/* Save whether or not we tried IPv6 for later */
|
||||
|
|
@ -16439,8 +16288,8 @@ _set_state_full(NMDevice *self, NMDeviceState state, NMDeviceStateReason reason,
|
|||
"state change: %s -> %s (reason '%s', sys-iface-state: '%s'%s)",
|
||||
nm_device_state_to_str(old_state),
|
||||
nm_device_state_to_str(state),
|
||||
reason_to_string_a(reason),
|
||||
_sys_iface_state_to_str(priv->sys_iface_state),
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
nm_device_sys_iface_state_to_str(priv->sys_iface_state),
|
||||
priv->firmware_missing ? ", missing firmware" : "");
|
||||
return;
|
||||
}
|
||||
|
|
@ -16449,8 +16298,8 @@ _set_state_full(NMDevice *self, NMDeviceState state, NMDeviceStateReason reason,
|
|||
"state change: %s -> %s (reason '%s', sys-iface-state: '%s')",
|
||||
nm_device_state_to_str(old_state),
|
||||
nm_device_state_to_str(state),
|
||||
reason_to_string_a(reason),
|
||||
_sys_iface_state_to_str(priv->sys_iface_state));
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
nm_device_sys_iface_state_to_str(priv->sys_iface_state));
|
||||
|
||||
/* in order to prevent triggering any callback caused
|
||||
* by the device not having any pending action anymore
|
||||
|
|
@ -16796,7 +16645,7 @@ queued_state_set(gpointer user_data)
|
|||
_LOGD(LOGD_DEVICE,
|
||||
"queue-state[%s, reason:%s, id:%u]: %s",
|
||||
nm_device_state_to_str(priv->queued_state.state),
|
||||
reason_to_string_a(priv->queued_state.reason),
|
||||
nm_device_state_reason_to_str_a(priv->queued_state.reason),
|
||||
priv->queued_state.id,
|
||||
"change state");
|
||||
|
||||
|
|
@ -16808,7 +16657,7 @@ queued_state_set(gpointer user_data)
|
|||
new_reason = priv->queued_state.reason;
|
||||
|
||||
nm_device_state_changed(self, new_state, new_reason);
|
||||
nm_device_remove_pending_action(self, queued_state_to_string(new_state), TRUE);
|
||||
nm_device_remove_pending_action(self, nm_device_state_queued_state_to_str(new_state), TRUE);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
|
@ -16826,12 +16675,12 @@ nm_device_queue_state(NMDevice *self, NMDeviceState state, NMDeviceStateReason r
|
|||
_LOGD(LOGD_DEVICE,
|
||||
"queue-state[%s, reason:%s, id:%u]: %s%s%s%s",
|
||||
nm_device_state_to_str(priv->queued_state.state),
|
||||
reason_to_string_a(priv->queued_state.reason),
|
||||
nm_device_state_reason_to_str_a(priv->queued_state.reason),
|
||||
priv->queued_state.id,
|
||||
"ignore queuing same state change",
|
||||
NM_PRINT_FMT_QUOTED(priv->queued_state.reason != reason,
|
||||
" (reason differs: ",
|
||||
reason_to_string_a(reason),
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
")",
|
||||
""));
|
||||
return;
|
||||
|
|
@ -16839,20 +16688,21 @@ nm_device_queue_state(NMDevice *self, NMDeviceState state, NMDeviceStateReason r
|
|||
|
||||
/* Add pending action for the new state before clearing the queued states, so
|
||||
* that we don't accidentally pop all pending states and reach 'startup complete' */
|
||||
nm_device_add_pending_action(self, queued_state_to_string(state), TRUE);
|
||||
nm_device_add_pending_action(self, nm_device_state_queued_state_to_str(state), TRUE);
|
||||
|
||||
/* We should only ever have one delayed state transition at a time */
|
||||
if (priv->queued_state.id) {
|
||||
_LOGW(LOGD_DEVICE,
|
||||
"queue-state[%s, reason:%s, id:%u]: %s",
|
||||
nm_device_state_to_str(priv->queued_state.state),
|
||||
reason_to_string_a(priv->queued_state.reason),
|
||||
nm_device_state_reason_to_str_a(priv->queued_state.reason),
|
||||
priv->queued_state.id,
|
||||
"replace previously queued state change");
|
||||
nm_clear_g_source(&priv->queued_state.id);
|
||||
nm_device_remove_pending_action(self,
|
||||
queued_state_to_string(priv->queued_state.state),
|
||||
TRUE);
|
||||
nm_device_remove_pending_action(
|
||||
self,
|
||||
nm_device_state_queued_state_to_str(priv->queued_state.state),
|
||||
TRUE);
|
||||
}
|
||||
|
||||
priv->queued_state.state = state;
|
||||
|
|
@ -16862,7 +16712,7 @@ nm_device_queue_state(NMDevice *self, NMDeviceState state, NMDeviceStateReason r
|
|||
_LOGD(LOGD_DEVICE,
|
||||
"queue-state[%s, reason:%s, id:%u]: %s",
|
||||
nm_device_state_to_str(state),
|
||||
reason_to_string_a(reason),
|
||||
nm_device_state_reason_to_str_a(reason),
|
||||
priv->queued_state.id,
|
||||
"queue state change");
|
||||
}
|
||||
|
|
@ -16878,11 +16728,13 @@ queued_state_clear(NMDevice *self)
|
|||
_LOGD(LOGD_DEVICE,
|
||||
"queue-state[%s, reason:%s, id:%u]: %s",
|
||||
nm_device_state_to_str(priv->queued_state.state),
|
||||
reason_to_string_a(priv->queued_state.reason),
|
||||
nm_device_state_reason_to_str_a(priv->queued_state.reason),
|
||||
priv->queued_state.id,
|
||||
"clear queued state change");
|
||||
nm_clear_g_source(&priv->queued_state.id);
|
||||
nm_device_remove_pending_action(self, queued_state_to_string(priv->queued_state.state), TRUE);
|
||||
nm_device_remove_pending_action(self,
|
||||
nm_device_state_queued_state_to_str(priv->queued_state.state),
|
||||
TRUE);
|
||||
}
|
||||
|
||||
NMDeviceState
|
||||
|
|
|
|||
|
|
@ -15,54 +15,7 @@
|
|||
#include "nm-connection.h"
|
||||
#include "nm-rfkill-manager.h"
|
||||
#include "NetworkManagerUtils.h"
|
||||
|
||||
typedef enum _nm_packed {
|
||||
NM_DEVICE_SYS_IFACE_STATE_EXTERNAL,
|
||||
NM_DEVICE_SYS_IFACE_STATE_ASSUME,
|
||||
NM_DEVICE_SYS_IFACE_STATE_MANAGED,
|
||||
|
||||
/* the REMOVED state applies when the device is manually set to unmanaged
|
||||
* or the link was externally removed. In both cases, we move the device
|
||||
* to UNMANAGED state, without touching the link -- be it, because the link
|
||||
* is already gone or because we want to release it (give it up).
|
||||
*/
|
||||
NM_DEVICE_SYS_IFACE_STATE_REMOVED,
|
||||
} NMDeviceSysIfaceState;
|
||||
|
||||
typedef enum {
|
||||
NM_DEVICE_MTU_SOURCE_NONE,
|
||||
NM_DEVICE_MTU_SOURCE_PARENT,
|
||||
NM_DEVICE_MTU_SOURCE_IP_CONFIG,
|
||||
NM_DEVICE_MTU_SOURCE_CONNECTION,
|
||||
} NMDeviceMtuSource;
|
||||
|
||||
static inline NMDeviceStateReason
|
||||
nm_device_state_reason_check(NMDeviceStateReason reason)
|
||||
{
|
||||
/* the device-state-reason serves mostly informational purpose during a state
|
||||
* change. In some cases however, decisions are made based on the reason.
|
||||
* I tend to think that interpreting the state reason to derive some behaviors
|
||||
* is confusing, because the cause and effect are so far apart.
|
||||
*
|
||||
* This function is here to mark source that inspects the reason to make
|
||||
* a decision -- contrary to places that set the reason. Thus, by grepping
|
||||
* for nm_device_state_reason_check() you can find the "effect" to a certain
|
||||
* reason.
|
||||
*/
|
||||
return reason;
|
||||
}
|
||||
|
||||
#define NM_PENDING_ACTION_AUTOACTIVATE "autoactivate"
|
||||
#define NM_PENDING_ACTION_IN_STATE_CHANGE "in-state-change"
|
||||
#define NM_PENDING_ACTION_RECHECK_AVAILABLE "recheck-available"
|
||||
#define NM_PENDING_ACTION_CARRIER_WAIT "carrier-wait"
|
||||
#define NM_PENDING_ACTION_WAITING_FOR_SUPPLICANT "waiting-for-supplicant"
|
||||
#define NM_PENDING_ACTION_WIFI_SCAN "wifi-scan"
|
||||
#define NM_PENDING_ACTION_WAITING_FOR_COMPANION "waiting-for-companion"
|
||||
#define NM_PENDING_ACTION_LINK_INIT "link-init"
|
||||
|
||||
#define NM_PENDING_ACTIONPREFIX_QUEUED_STATE_CHANGE "queued-state-change-"
|
||||
#define NM_PENDING_ACTIONPREFIX_ACTIVATION "activation-"
|
||||
#include "nm-device-utils.h"
|
||||
|
||||
/* Properties */
|
||||
#define NM_DEVICE_UDI "udi"
|
||||
|
|
@ -861,9 +814,6 @@ struct _NMBtVTableNetworkServer {
|
|||
gboolean (*unregister_bridge)(const NMBtVTableNetworkServer *vtable, NMDevice *device);
|
||||
};
|
||||
|
||||
const char *nm_device_state_to_str(NMDeviceState state);
|
||||
const char *nm_device_state_reason_to_str(NMDeviceStateReason reason);
|
||||
|
||||
gboolean nm_device_is_vpn(NMDevice *self);
|
||||
|
||||
const char *
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ libNetworkManager = static_library(
|
|||
'devices/nm-device-bond.c',
|
||||
'devices/nm-device-bridge.c',
|
||||
'devices/nm-device.c',
|
||||
'devices/nm-device-utils.c',
|
||||
'devices/nm-device-dummy.c',
|
||||
'devices/nm-device-ethernet.c',
|
||||
'devices/nm-device-ethernet-utils.c',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue