summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/nm-fake-platform.c4
-rw-r--r--src/platform/nm-linux-platform.c19
-rw-r--r--src/platform/nm-platform.c16
-rw-r--r--src/platform/nm-platform.h10
-rw-r--r--src/platform/tests/test-common.c4
-rw-r--r--src/platform/tests/test-route.c2
6 files changed, 30 insertions, 25 deletions
diff --git a/src/platform/nm-fake-platform.c b/src/platform/nm-fake-platform.c
index c76829a742..be43015281 100644
--- a/src/platform/nm-fake-platform.c
+++ b/src/platform/nm-fake-platform.c
@@ -1190,7 +1190,7 @@ ipx_route_delete (NMPlatform *platform,
}
static gboolean
-ip_route_delete (NMPlatform *platform, const NMPObject *obj)
+object_delete (NMPlatform *platform, const NMPObject *obj)
{
g_assert (NM_IS_FAKE_PLATFORM (platform));
g_assert (NM_IN_SET (NMP_OBJECT_GET_TYPE (obj), NMP_OBJECT_TYPE_IP4_ROUTE,
@@ -1462,5 +1462,5 @@ nm_fake_platform_class_init (NMFakePlatformClass *klass)
platform_class->ip6_address_delete = ip6_address_delete;
platform_class->ip_route_add = ip_route_add;
- platform_class->ip_route_delete = ip_route_delete;
+ platform_class->object_delete = object_delete;
}
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index a1fe17ef29..ab9957529a 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -6116,19 +6116,24 @@ ip_route_add (NMPlatform *platform,
}
static gboolean
-ip_route_delete (NMPlatform *platform,
- const NMPObject *obj)
+object_delete (NMPlatform *platform,
+ const NMPObject *obj)
{
nm_auto_nmpobj const NMPObject *obj_keep_alive = NULL;
nm_auto_nlmsg struct nl_msg *nlmsg = NULL;
- nm_assert (NM_IN_SET (NMP_OBJECT_GET_TYPE (obj), NMP_OBJECT_TYPE_IP4_ROUTE,
- NMP_OBJECT_TYPE_IP6_ROUTE));
-
if (!NMP_OBJECT_IS_STACKINIT (obj))
obj_keep_alive = nmp_object_ref (obj);
- nlmsg = _nl_msg_new_route (RTM_DELROUTE, 0, obj);
+ switch (NMP_OBJECT_GET_TYPE (obj)) {
+ case NMP_OBJECT_TYPE_IP4_ROUTE:
+ case NMP_OBJECT_TYPE_IP6_ROUTE:
+ nlmsg = _nl_msg_new_route (RTM_DELROUTE, 0, obj);
+ break;
+ default:
+ break;
+ }
+
if (!nlmsg)
g_return_val_if_reached (FALSE);
return do_delete_object (platform, obj, nlmsg);
@@ -6937,13 +6942,13 @@ nm_linux_platform_class_init (NMLinuxPlatformClass *klass)
platform_class->link_ipip_add = link_ipip_add;
platform_class->link_sit_add = link_sit_add;
+ platform_class->object_delete = object_delete;
platform_class->ip4_address_add = ip4_address_add;
platform_class->ip6_address_add = ip6_address_add;
platform_class->ip4_address_delete = ip4_address_delete;
platform_class->ip6_address_delete = ip6_address_delete;
platform_class->ip_route_add = ip_route_add;
- platform_class->ip_route_delete = ip_route_delete;
platform_class->ip_route_get = ip_route_get;
platform_class->check_kernel_support = check_kernel_support;
diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
index 25c20a2759..37610e8eae 100644
--- a/src/platform/nm-platform.c
+++ b/src/platform/nm-platform.c
@@ -3732,7 +3732,7 @@ nm_platform_ip_route_sync (NMPlatform *self,
/* we need to replace the existing route with a (slightly) differnt
* one. Delete it first. */
- if (!nm_platform_ip_route_delete (self, plat_o)) {
+ if (!nm_platform_object_delete (self, plat_o)) {
/* ignore error. */
}
}
@@ -3813,7 +3813,7 @@ nm_platform_ip_route_sync (NMPlatform *self,
prune_o))
continue;
- if (!nm_platform_ip_route_delete (self, prune_o)) {
+ if (!nm_platform_object_delete (self, prune_o)) {
/* ignore error... */
}
}
@@ -3991,8 +3991,8 @@ nm_platform_ip6_route_add (NMPlatform *self,
}
gboolean
-nm_platform_ip_route_delete (NMPlatform *self,
- const NMPObject *obj)
+nm_platform_object_delete (NMPlatform *self,
+ const NMPObject *obj)
{
_CHECK_SELF (self, klass, FALSE);
@@ -4000,11 +4000,11 @@ nm_platform_ip_route_delete (NMPlatform *self,
NMP_OBJECT_TYPE_IP6_ROUTE))
g_return_val_if_reached (FALSE);
- _LOGD ("route: delete IPv%c route %s",
- NMP_OBJECT_GET_TYPE (obj) == NMP_OBJECT_TYPE_IP4_ROUTE ? '4' : '6',
+ _LOGD ("%s: delete %s",
+ NMP_OBJECT_GET_CLASS (obj)->obj_type_name,
nmp_object_to_string (obj, NMP_OBJECT_TO_STRING_PUBLIC, NULL, 0));
- return klass->ip_route_delete (self, obj);
+ return klass->object_delete (self, obj);
}
/*****************************************************************************/
@@ -4115,7 +4115,7 @@ again:
_LOGT ("ip4-dev-route: delete %s",
nmp_object_to_string (p_obj, NMP_OBJECT_TO_STRING_PUBLIC, NULL, 0));
- nm_platform_ip_route_delete (self, p_obj);
+ nm_platform_object_delete (self, p_obj);
goto again;
}
diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h
index bd2e4516fb..354cb79b76 100644
--- a/src/platform/nm-platform.h
+++ b/src/platform/nm-platform.h
@@ -15,7 +15,7 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * Copyright (C) 2009 - 2010 Red Hat, Inc.
+ * Copyright (C) 2009 - 2017 Red Hat, Inc.
*/
#ifndef __NETWORKMANAGER_PLATFORM_H__
@@ -800,6 +800,8 @@ typedef struct {
gboolean (*mesh_set_channel) (NMPlatform *, int ifindex, guint32 channel);
gboolean (*mesh_set_ssid) (NMPlatform *, int ifindex, const guint8 *ssid, gsize len);
+ gboolean (*object_delete) (NMPlatform *, const NMPObject *obj);
+
gboolean (*ip4_address_add) (NMPlatform *,
int ifindex,
in_addr_t address,
@@ -824,8 +826,6 @@ typedef struct {
NMPNlmFlags flags,
int addr_family,
const NMPlatformIPRoute *route);
- gboolean (*ip_route_delete) (NMPlatform *, const NMPObject *obj);
-
NMPlatformError (*ip_route_get) (NMPlatform *self,
int addr_family,
gconstpointer address,
@@ -1189,6 +1189,8 @@ NMPlatformError nm_platform_link_sit_add (NMPlatform *self,
const NMPlatformIP6Address *nm_platform_ip6_address_get (NMPlatform *self, int ifindex, struct in6_addr address);
+gboolean nm_platform_object_delete (NMPlatform *self, const NMPObject *route);
+
gboolean nm_platform_ip4_address_add (NMPlatform *self,
int ifindex,
in_addr_t address,
@@ -1223,8 +1225,6 @@ NMPlatformError nm_platform_ip_route_add (NMPlatform *self,
NMPlatformError nm_platform_ip4_route_add (NMPlatform *self, NMPNlmFlags flags, const NMPlatformIP4Route *route);
NMPlatformError nm_platform_ip6_route_add (NMPlatform *self, NMPNlmFlags flags, const NMPlatformIP6Route *route);
-gboolean nm_platform_ip_route_delete (NMPlatform *self, const NMPObject *route);
-
GPtrArray *nm_platform_ip_route_get_prune_list (NMPlatform *self,
int addr_family,
int ifindex,
diff --git a/src/platform/tests/test-common.c b/src/platform/tests/test-common.c
index 33f8102325..df82e9163f 100644
--- a/src/platform/tests/test-common.c
+++ b/src/platform/tests/test-common.c
@@ -119,7 +119,7 @@ nmtstp_platform_ip4_route_delete (NMPlatform *platform, int ifindex, in_addr_t n
continue;
}
- return nm_platform_ip_route_delete (platform, NMP_OBJECT_UP_CAST (r));
+ return nm_platform_object_delete (platform, NMP_OBJECT_UP_CAST (r));
}
return TRUE;
@@ -145,7 +145,7 @@ nmtstp_platform_ip6_route_delete (NMPlatform *platform, int ifindex, struct in6_
continue;
}
- return nm_platform_ip_route_delete (platform, NMP_OBJECT_UP_CAST (r));
+ return nm_platform_object_delete (platform, NMP_OBJECT_UP_CAST (r));
}
return TRUE;
diff --git a/src/platform/tests/test-route.c b/src/platform/tests/test-route.c
index 44ee03bdfc..27c091ec06 100644
--- a/src/platform/tests/test-route.c
+++ b/src/platform/tests/test-route.c
@@ -793,7 +793,7 @@ again_find_idx:
order_len--;
r->ifindex = iface_data[idx].ifindex;
- g_assert (nm_platform_ip_route_delete (platform, &o));
+ g_assert (nm_platform_object_delete (platform, &o));
}
head_entry = nm_platform_lookup (platform,