diff options
author | Thomas Haller <thaller@redhat.com> | 2017-04-17 20:17:45 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-04-18 15:53:11 +0200 |
commit | 8a6eef6aa70148d618dce1f04e1c0891256260e6 (patch) | |
tree | 64e55567874d09f30e4a4745907a09f8fa16f4b4 /src/nm-ip6-config.h | |
parent | d37b9d79bc1b37443a18dcb39b73f19c4fea8783 (diff) | |
download | NetworkManager-8a6eef6aa70148d618dce1f04e1c0891256260e6.tar.gz |
device: keep NMNetns instance per device
This also ensures that we own a reference to the
NMPlatform, NMRouteManager and NMDefaultRouteManager
instances. See bug rh#1440089 where we might access
the singleton getter after destroing the singleton
instance of NMRouteManager. This is prevented by
keeping a reference to those instances -- indirectly
via the netns instance.
Later, we may add support for multiple namespaces. Then it might
make sense to swap the NMNetns instance of a device when moving
the device between namespaces.
Also, drop the use of singelton instances.
https://bugzilla.redhat.com/show_bug.cgi?id=1440089
(cherry picked from commit c48a19b7c6009ee85a4d6a6caa96570de6b315ca)
Diffstat (limited to 'src/nm-ip6-config.h')
-rw-r--r-- | src/nm-ip6-config.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nm-ip6-config.h b/src/nm-ip6-config.h index c196421b3f..557041c958 100644 --- a/src/nm-ip6-config.h +++ b/src/nm-ip6-config.h @@ -61,8 +61,12 @@ NMIP6Config * nm_ip6_config_new_cloned (const NMIP6Config *src); int nm_ip6_config_get_ifindex (const NMIP6Config *config); -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 routes_full_sync); +NMIP6Config *nm_ip6_config_capture (NMPlatform *platform, int ifindex, gboolean capture_resolv_conf, NMSettingIP6ConfigPrivacy use_temporary); +gboolean nm_ip6_config_commit (const NMIP6Config *config, + NMPlatform *platform, + NMRouteManager *route_manager, + 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); |