summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-07-13 19:20:08 +0200
committerThomas Haller <thaller@redhat.com>2015-07-14 13:36:50 +0200
commit6124f5b94a7bc471803e8f8e384f182f708d839a (patch)
tree54ed9fc04ef8e68061061a28d97b8d58e63dfb87
parent65f2090cc2341d4287b13751ac7bdd0b15039cac (diff)
downloadNetworkManager-6124f5b94a7bc471803e8f8e384f182f708d839a.tar.gz
routes/trival: add argument @routes_full_sync to IP config commit
The argument is still unused, so no behavioral change yet.
-rw-r--r--src/devices/nm-device.c5
-rw-r--r--src/nm-iface-helper.c4
-rw-r--r--src/nm-ip4-config.c4
-rw-r--r--src/nm-ip4-config.h2
-rw-r--r--src/nm-ip6-config.c4
-rw-r--r--src/nm-ip6-config.h2
-rw-r--r--src/vpn-manager/nm-vpn-connection.c5
7 files changed, 16 insertions, 10 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 48d2004fe6..0fa5bdf9b0 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -6351,6 +6351,7 @@ nm_device_set_ip4_config (NMDevice *self,
* FIXME: this is wrong in case where "assumed" means "take-over-seamlessly". In this
* case, we should manage the device route, for example on new DHCP lease. */
success = nm_ip4_config_commit (new_config, ip_ifindex,
+ TRUE,
assumed ? (gint64) -1 : (gint64) default_route_metric);
if (!success)
reason_local = NM_DEVICE_STATE_REASON_CONFIG_FAILED;
@@ -6483,7 +6484,9 @@ nm_device_set_ip6_config (NMDevice *self,
/* Always commit to nm-platform to update lifetimes */
if (commit && new_config) {
nm_device_ipv6_set_mtu (self, priv->ip6_mtu);
- success = nm_ip6_config_commit (new_config, ip_ifindex);
+ success = nm_ip6_config_commit (new_config,
+ ip_ifindex,
+ TRUE);
if (!success)
reason_local = NM_DEVICE_STATE_REASON_CONFIG_FAILED;
}
diff --git a/src/nm-iface-helper.c b/src/nm-iface-helper.c
index 3cdd165965..cbff221a85 100644
--- a/src/nm-iface-helper.c
+++ b/src/nm-iface-helper.c
@@ -104,7 +104,7 @@ dhcp4_state_changed (NMDhcpClient *client,
nm_ip4_config_subtract (existing, last_config);
nm_ip4_config_merge (existing, ip4_config);
- if (!nm_ip4_config_commit (existing, ifindex, global_opt.priority_v4))
+ if (!nm_ip4_config_commit (existing, ifindex, TRUE, global_opt.priority_v4))
nm_log_warn (LOGD_DHCP4, "(%s): failed to apply DHCPv4 config", global_opt.ifname);
if (last_config)
@@ -241,7 +241,7 @@ rdisc_config_changed (NMRDisc *rdisc, NMRDiscConfigMap changed, gpointer user_da
nm_ip6_config_subtract (existing, last_config);
nm_ip6_config_merge (existing, ip6_config);
- if (!nm_ip6_config_commit (existing, ifindex))
+ if (!nm_ip6_config_commit (existing, ifindex, TRUE))
nm_log_warn (LOGD_IP6, "(%s): failed to apply IPv6 config", global_opt.ifname);
if (last_config)
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index e140e59e58..2b137ff73a 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -290,7 +290,7 @@ nm_ip4_config_capture (int ifindex, gboolean capture_resolv_conf)
}
gboolean
-nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gint64 default_route_metric)
+nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_full_sync, gint64 default_route_metric)
{
NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config);
int i;
@@ -359,7 +359,7 @@ nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gint64 default_rou
nm_route_manager_ip4_route_register_device_route_purge_list (nm_route_manager_get (), device_route_purge_list);
- success = nm_route_manager_ip4_route_sync (nm_route_manager_get (), ifindex, routes, default_route_metric < 0, TRUE);
+ success = nm_route_manager_ip4_route_sync (nm_route_manager_get (), ifindex, routes, default_route_metric < 0, routes_full_sync);
g_array_unref (routes);
if (!success)
return FALSE;
diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h
index 0088934a45..0f457217a4 100644
--- a/src/nm-ip4-config.h
+++ b/src/nm-ip4-config.h
@@ -71,7 +71,7 @@ const char * nm_ip4_config_get_dbus_path (const NMIP4Config *config);
/* Integration with nm-platform and nm-setting */
NMIP4Config *nm_ip4_config_capture (int ifindex, gboolean capture_resolv_conf);
-gboolean nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gint64 default_route_metric);
+gboolean nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_full_sync, gint64 default_route_metric);
void nm_ip4_config_merge_setting (NMIP4Config *config, NMSettingIPConfig *setting, guint32 default_route_metric);
NMSetting *nm_ip4_config_create_setting (const NMIP4Config *config);
diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c
index 5c060d5399..4794a0ae38 100644
--- a/src/nm-ip6-config.c
+++ b/src/nm-ip6-config.c
@@ -406,7 +406,7 @@ nm_ip6_config_capture (int ifindex, gboolean capture_resolv_conf, NMSettingIP6Co
}
gboolean
-nm_ip6_config_commit (const NMIP6Config *config, int ifindex)
+nm_ip6_config_commit (const NMIP6Config *config, int ifindex, gboolean routes_full_sync)
{
NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (config);
int i;
@@ -437,7 +437,7 @@ nm_ip6_config_commit (const NMIP6Config *config, int ifindex)
g_array_append_vals (routes, route, 1);
}
- success = nm_route_manager_ip6_route_sync (nm_route_manager_get (), ifindex, routes, TRUE, TRUE);
+ success = nm_route_manager_ip6_route_sync (nm_route_manager_get (), ifindex, routes, TRUE, routes_full_sync);
g_array_unref (routes);
}
diff --git a/src/nm-ip6-config.h b/src/nm-ip6-config.h
index 799364e4db..e8cbc0e5f9 100644
--- a/src/nm-ip6-config.h
+++ b/src/nm-ip6-config.h
@@ -71,7 +71,7 @@ const char * nm_ip6_config_get_dbus_path (const NMIP6Config *config);
/* Integration with nm-platform and nm-setting */
NMIP6Config *nm_ip6_config_capture (int ifindex, gboolean capture_resolv_conf, NMSettingIP6ConfigPrivacy use_temporary);
-gboolean nm_ip6_config_commit (const NMIP6Config *config, int ifindex);
+gboolean nm_ip6_config_commit (const NMIP6Config *config, int ifindex, gboolean routes_full_sync);
void nm_ip6_config_merge_setting (NMIP6Config *config, NMSettingIPConfig *setting, guint32 default_route_metric);
NMSetting *nm_ip6_config_create_setting (const NMIP6Config *config);
diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
index fffc5cabee..8749e3573b 100644
--- a/src/vpn-manager/nm-vpn-connection.c
+++ b/src/vpn-manager/nm-vpn-connection.c
@@ -961,12 +961,15 @@ nm_vpn_connection_apply_config (NMVpnConnection *connection)
if (priv->ip4_config) {
if (!nm_ip4_config_commit (priv->ip4_config, priv->ip_ifindex,
+ TRUE,
nm_vpn_connection_get_ip4_route_metric (connection)))
return FALSE;
}
if (priv->ip6_config) {
- if (!nm_ip6_config_commit (priv->ip6_config, priv->ip_ifindex))
+ if (!nm_ip6_config_commit (priv->ip6_config,
+ priv->ip_ifindex,
+ TRUE))
return FALSE;
}
}