summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2022-07-15 10:43:53 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2022-07-18 08:15:15 +0200
commit8388f67d3da69c8c86ea801220cdb284495f8a07 (patch)
tree9caf5815e3107c56924ec5f617d83042cf910ac8
parentace95e51130b41f39785358bf955b7086bb41c1e (diff)
device: add "is_manual" argument to ready_for_ip_config() device method
Some device types might want to run manual ip configuration while skipping other methods. (cherry picked from commit 2ae8433520be69b95dccefba416c19d28fb38a85) (cherry picked from commit 2128e4542e2a668dd4fcce0f94d3e5b4fbc5b0f8)
-rw-r--r--src/core/devices/nm-device.c4
-rw-r--r--src/core/devices/nm-device.h2
-rw-r--r--src/core/devices/ovs/nm-device-ovs-bridge.c2
-rw-r--r--src/core/devices/ovs/nm-device-ovs-interface.c2
-rw-r--r--src/core/devices/ovs/nm-device-ovs-port.c2
-rw-r--r--src/core/devices/wwan/nm-device-modem.c2
6 files changed, 7 insertions, 7 deletions
diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
index 0a5d826d34..6417882eb2 100644
--- a/src/core/devices/nm-device.c
+++ b/src/core/devices/nm-device.c
@@ -11628,7 +11628,7 @@ activate_stage3_ip_config_for_addr_family(NMDevice *self, int addr_family, const
priv->ip_data_x[IS_IPv4].wait_for_ports = FALSE;
}
- if (klass->ready_for_ip_config && !klass->ready_for_ip_config(self))
+ if (klass->ready_for_ip_config && !klass->ready_for_ip_config(self, FALSE))
goto out_devip;
if (IS_IPv4) {
@@ -11892,7 +11892,7 @@ activate_stage3_ip_config(NMDevice *self)
}
if (!nm_device_sys_iface_state_is_external(self)
- && (!klass->ready_for_ip_config || klass->ready_for_ip_config(self))) {
+ && (!klass->ready_for_ip_config || klass->ready_for_ip_config(self, TRUE))) {
if (priv->ipmanual_data.state_6 == NM_DEVICE_IP_STATE_NONE
&& !NM_IN_STRSET(ipv6_method,
NM_SETTING_IP6_CONFIG_METHOD_DISABLED,
diff --git a/src/core/devices/nm-device.h b/src/core/devices/nm-device.h
index a7badb8610..90d03478a9 100644
--- a/src/core/devices/nm-device.h
+++ b/src/core/devices/nm-device.h
@@ -346,7 +346,7 @@ typedef struct _NMDeviceClass {
NMActStageReturn (*act_stage1_prepare)(NMDevice *self, NMDeviceStateReason *out_failure_reason);
NMActStageReturn (*act_stage2_config)(NMDevice *self, NMDeviceStateReason *out_failure_reason);
void (*act_stage3_ip_config)(NMDevice *self, int addr_family);
- gboolean (*ready_for_ip_config)(NMDevice *self);
+ gboolean (*ready_for_ip_config)(NMDevice *self, gboolean is_manual);
const char *(*get_ip_method_auto)(NMDevice *self, int addr_family);
diff --git a/src/core/devices/ovs/nm-device-ovs-bridge.c b/src/core/devices/ovs/nm-device-ovs-bridge.c
index 683ada1339..ea77dd189e 100644
--- a/src/core/devices/ovs/nm-device-ovs-bridge.c
+++ b/src/core/devices/ovs/nm-device-ovs-bridge.c
@@ -67,7 +67,7 @@ get_generic_capabilities(NMDevice *device)
}
static gboolean
-ready_for_ip_config(NMDevice *device)
+ready_for_ip_config(NMDevice *device, gboolean is_manual)
{
return FALSE;
}
diff --git a/src/core/devices/ovs/nm-device-ovs-interface.c b/src/core/devices/ovs/nm-device-ovs-interface.c
index 74707d2482..61fac6f81c 100644
--- a/src/core/devices/ovs/nm-device-ovs-interface.c
+++ b/src/core/devices/ovs/nm-device-ovs-interface.c
@@ -194,7 +194,7 @@ set_platform_mtu(NMDevice *device, guint32 mtu)
}
static gboolean
-ready_for_ip_config(NMDevice *device)
+ready_for_ip_config(NMDevice *device, gboolean is_manual)
{
return nm_device_get_ip_ifindex(device) > 0;
}
diff --git a/src/core/devices/ovs/nm-device-ovs-port.c b/src/core/devices/ovs/nm-device-ovs-port.c
index 116f58c43a..6ba52f406b 100644
--- a/src/core/devices/ovs/nm-device-ovs-port.c
+++ b/src/core/devices/ovs/nm-device-ovs-port.c
@@ -61,7 +61,7 @@ get_generic_capabilities(NMDevice *device)
}
static gboolean
-ready_for_ip_config(NMDevice *device)
+ready_for_ip_config(NMDevice *device, gboolean is_manual)
{
return FALSE;
}
diff --git a/src/core/devices/wwan/nm-device-modem.c b/src/core/devices/wwan/nm-device-modem.c
index 11a994ea74..aee59cd59f 100644
--- a/src/core/devices/wwan/nm-device-modem.c
+++ b/src/core/devices/wwan/nm-device-modem.c
@@ -621,7 +621,7 @@ is_available(NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
}
static gboolean
-ready_for_ip_config(NMDevice *device)
+ready_for_ip_config(NMDevice *device, gboolean is_manual)
{
/* Tell NMDevice to only run device-specific IP
* configuration (devip) and skip other methods