diff options
author | Thomas Haller <thaller@redhat.com> | 2017-09-19 09:40:13 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-09-19 11:49:29 +0200 |
commit | 03e1cc96a5dc3d9a9b86f60810a330332c484a94 (patch) | |
tree | 14179c0dd5531f115fccd42d5bd4718ff90e563c /src/nm-ip6-config.h | |
parent | 39d30a170dcb717d9c1dc980f0897d12f5c110f6 (diff) | |
download | NetworkManager-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.h | 4 |
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); |