summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2014-10-10 16:55:08 +0200
committerThomas Haller <thaller@redhat.com>2014-10-10 17:21:00 +0200
commit23169d83040fd1d954c51addf87a1e3284394f85 (patch)
tree433c7ca91b91d353b531c855ae5ba3818cbaaaae
parente86ade6693bac73c7aa65671bd2c018242e0f8f4 (diff)
downloadNetworkManager-23169d83040fd1d954c51addf87a1e3284394f85.tar.gz
platform: add rtnl_link_inet6_get_token() to vtable
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r--src/platform/nm-linux-platform.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index 26fa5fe135..acc051f6f9 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -75,6 +75,7 @@ struct libnl_vtable
void *handle;
int (*f_nl_has_capability) (int capability);
+ int (*f_rtnl_link_inet6_get_token) (struct rtnl_link *link, struct nl_addr **addr);
};
@@ -130,6 +131,7 @@ _nl_get_vtable ()
if (handle) {
vtable.handle = handle;
vtable.f_nl_has_capability = dlsym (handle, "nl_has_capability");
+ vtable.f_rtnl_link_inet6_get_token = dlsym (handle, "rtnl_link_inet6_get_token");
}
if (!vtable.f_nl_has_capability)
@@ -147,6 +149,22 @@ _nl_has_capability (int capability)
return (_nl_get_vtable ()->f_nl_has_capability) (capability);
}
+static gboolean
+_rtnl_link_inet6_get_token_has_support ()
+{
+ return _nl_get_vtable ()->f_rtnl_link_inet6_get_token != NULL;
+}
+
+static int
+_rtnl_link_inet6_get_token (struct rtnl_link *link, struct nl_addr **addr)
+{
+ struct libnl_vtable *vtable = _nl_get_vtable ();
+
+ if (!vtable->f_rtnl_link_inet6_get_token)
+ return -NLE_NOATTR;
+ return (vtable->f_rtnl_link_inet6_get_token) (link, addr);
+}
+
/******************************************************************/
static guint32