summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-09-28 14:22:07 +0200
committerThomas Haller <thaller@redhat.com>2017-10-06 11:13:43 +0200
commita4e506ead5215ee736de9f53720a61aaf716a320 (patch)
tree69c85fd80bae360d799936b735f2f6847b9be1bd
parentb31226532d9e5b5ac5960ce2f0b65a60e92d428f (diff)
downloadNetworkManager-a4e506ead5215ee736de9f53720a61aaf716a320.tar.gz
device: factor out config argument to ip4_config_merge_and_apply()
-rw-r--r--src/devices/nm-device.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 51d1f72a3f..867b387e25 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -504,7 +504,6 @@ static gboolean nm_device_set_ip4_config (NMDevice *self,
gboolean commit,
GPtrArray *ip4_dev_route_blacklist);
static gboolean ip4_config_merge_and_apply (NMDevice *self,
- NMIP4Config *config,
gboolean commit);
static gboolean nm_device_set_ip6_config (NMDevice *self,
@@ -1929,7 +1928,7 @@ update_connectivity_state (NMDevice *self, NMConnectivityState state)
if ( priv->state == NM_DEVICE_STATE_ACTIVATED
&& !nm_device_sys_iface_state_is_external (self)) {
if ( nm_device_get_best_default_route (self, AF_INET)
- && !ip4_config_merge_and_apply (self, NULL, TRUE))
+ && !ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "Failed to update IPv4 route metric");
if ( nm_device_get_best_default_route (self, AF_INET6)
&& !ip6_config_merge_and_apply (self, TRUE))
@@ -2733,7 +2732,7 @@ device_link_changed (NMDevice *self)
/* the link was down and just came up. That happens for example, while changing MTU.
* We must restore IP configuration. */
if (priv->ip4_state == IP_DONE) {
- if (!ip4_config_merge_and_apply (self, NULL, TRUE))
+ if (!ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "failed applying IP4 config after link comes up again");
}
if (priv->ip6_state == IP_DONE) {
@@ -5549,7 +5548,9 @@ nm_device_handle_ipv4ll_event (sd_ipv4ll *ll, int event, void *data)
nm_clear_g_source (&priv->ipv4ll_timeout);
nm_device_activate_schedule_ip4_config_result (self, config);
} else if (priv->ip4_state == IP_DONE) {
- if (!ip4_config_merge_and_apply (self, config, TRUE)) {
+ g_clear_object (&priv->dev_ip4_config);
+ priv->dev_ip4_config = g_object_ref (config);
+ if (!ip4_config_merge_and_apply (self, TRUE)) {
_LOGE (LOGD_AUTOIP4, "failed to update IP4 config for autoip change.");
nm_device_ip_method_failed (self, AF_INET, NM_DEVICE_STATE_REASON_AUTOIP_FAILED);
}
@@ -5726,7 +5727,6 @@ dhcp4_cleanup (NMDevice *self, CleanupType cleanup_type, gboolean release)
static gboolean
ip4_config_merge_and_apply (NMDevice *self,
- NMIP4Config *config,
gboolean commit)
{
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
@@ -5743,12 +5743,6 @@ ip4_config_merge_and_apply (NMDevice *self,
gs_unref_ptrarray GPtrArray *ip4_dev_route_blacklist = NULL;
gboolean add_default_route = TRUE;
- /* Merge all the configs into the composite config */
- if (config) {
- g_clear_object (&priv->dev_ip4_config);
- priv->dev_ip4_config = g_object_ref (config);
- }
-
/* Apply ignore-auto-routes and ignore-auto-dns settings */
connection = nm_device_get_applied_connection (self);
if (connection) {
@@ -5885,9 +5879,14 @@ END_ADD_DEFAULT_ROUTE:
static gboolean
dhcp4_lease_change (NMDevice *self, NMIP4Config *config)
{
+ NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
+
g_return_val_if_fail (config, FALSE);
- if (!ip4_config_merge_and_apply (self, config, TRUE)) {
+ g_clear_object (&priv->dev_ip4_config);
+ priv->dev_ip4_config = g_object_ref (config);
+
+ if (!ip4_config_merge_and_apply (self, TRUE)) {
_LOGW (LOGD_DHCP4, "failed to update IPv4 config for DHCP change.");
return FALSE;
}
@@ -8551,7 +8550,7 @@ activate_stage5_ip4_config_result (NMDevice *self)
}
/* NULL to use the existing priv->dev_ip4_config */
- if (!ip4_config_merge_and_apply (self, NULL, TRUE)) {
+ if (!ip4_config_merge_and_apply (self, TRUE)) {
_LOGD (LOGD_DEVICE | LOGD_IP4, "Activation: Stage 5 of 5 (IPv4 Commit) failed");
nm_device_ip_method_failed (self, AF_INET, NM_DEVICE_STATE_REASON_CONFIG_FAILED);
return;
@@ -9103,7 +9102,7 @@ nm_device_reactivate_ip4_config (NMDevice *self,
if (!nm_device_activate_stage3_ip4_start (self))
_LOGW (LOGD_IP4, "Failed to apply IPv4 configuration");
} else {
- if (!ip4_config_merge_and_apply (self, NULL, TRUE))
+ if (!ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "Failed to reapply IPv4 configuration");
}
}
@@ -10184,7 +10183,7 @@ nm_device_replace_vpn4_config (NMDevice *self, NMIP4Config *old, NMIP4Config *co
return;
/* NULL to use existing configs */
- if (!ip4_config_merge_and_apply (self, NULL, TRUE))
+ if (!ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "failed to set VPN routes for device");
}
@@ -10201,7 +10200,7 @@ nm_device_set_wwan_ip4_config (NMDevice *self, NMIP4Config *config)
priv->wwan_ip4_config = g_object_ref (config);
/* NULL to use existing configs */
- if (!ip4_config_merge_and_apply (self, NULL, TRUE))
+ if (!ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "failed to set WWAN IPv4 configuration");
}
@@ -10725,7 +10724,7 @@ nm_device_bring_up (NMDevice *self, gboolean block, gboolean *no_firmware)
/* when the link comes up, we must restore IP configuration if necessary. */
if (priv->ip4_state == IP_DONE) {
- if (!ip4_config_merge_and_apply (self, NULL, TRUE))
+ if (!ip4_config_merge_and_apply (self, TRUE))
_LOGW (LOGD_IP4, "failed applying IP4 config after bringing link up");
}
if (priv->ip6_state == IP_DONE) {
@@ -11035,7 +11034,7 @@ update_ip_config (NMDevice *self, int addr_family, gboolean initial)
if (update_ext_ip_config (self, addr_family, initial, TRUE)) {
if (addr_family == AF_INET) {
if (priv->ext_ip4_config)
- ip4_config_merge_and_apply (self, NULL, FALSE);
+ ip4_config_merge_and_apply (self, FALSE);
} else {
if (priv->ext_ip6_config_captured)
ip6_config_merge_and_apply (self, FALSE);