summaryrefslogtreecommitdiff
path: root/src/nm-ip6-config.h
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-09-19 09:40:13 +0200
committerThomas Haller <thaller@redhat.com>2017-09-19 11:49:29 +0200
commit03e1cc96a5dc3d9a9b86f60810a330332c484a94 (patch)
tree14179c0dd5531f115fccd42d5bd4718ff90e563c /src/nm-ip6-config.h
parent39d30a170dcb717d9c1dc980f0897d12f5c110f6 (diff)
downloadNetworkManager-03e1cc96a5dc3d9a9b86f60810a330332c484a94.tar.gz
core: fix handling IPv6 device-route and use correct route metric
Before commit 6698bf58bb53fb07838c52ca67293dd5352ec31c, we would rely on kernel to add the device-route for manual IPv6 routes. We broke that and now kernel would still add the device-route, however nm_platform_ip_route_sync() would delete it immediately after. That is because previously nm_platform_ip_route_sync() would ignore routes with rtm_protocol RTPRO_KERNEL. Now, it will sync and delete those too. Fix that by adding the device-route like we do it for IPv4. This also fixes an actual issue where the automatically added route always had route-metric 256. Instead, we now use the metric from ipv6.route-metric setting. Fixes: 6698bf58bb53fb07838c52ca67293dd5352ec31c
Diffstat (limited to 'src/nm-ip6-config.h')
-rw-r--r--src/nm-ip6-config.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nm-ip6-config.h b/src/nm-ip6-config.h
index 71ae1e469c..03dee47b27 100644
--- a/src/nm-ip6-config.h
+++ b/src/nm-ip6-config.h
@@ -107,6 +107,10 @@ struct _NMDedupMultiIndex *nm_ip6_config_get_multi_idx (const NMIP6Config *self)
NMIP6Config *nm_ip6_config_capture (struct _NMDedupMultiIndex *multi_idx, NMPlatform *platform, int ifindex,
gboolean capture_resolv_conf, NMSettingIP6ConfigPrivacy use_temporary);
+
+void nm_ip6_config_add_device_routes (NMIP6Config *self,
+ guint32 default_route_metric);
+
gboolean nm_ip6_config_commit (const NMIP6Config *self,
NMPlatform *platform,
GPtrArray **out_temporary_not_available);