diff options
Diffstat (limited to 'package/swconfig/src/swlib.c')
-rw-r--r-- | package/swconfig/src/swlib.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/package/swconfig/src/swlib.c b/package/swconfig/src/swlib.c index fbc036555d..04b3bef49d 100644 --- a/package/swconfig/src/swlib.c +++ b/package/swconfig/src/swlib.c @@ -24,6 +24,9 @@ #include <sys/socket.h> #include <linux/switch.h> #include "swlib.h" +#include <netlink/netlink.h> +#include <netlink/genl/genl.h> +#include <netlink/genl/family.h> //#define DEBUG 1 #ifdef DEBUG @@ -32,7 +35,7 @@ #define DPRINTF(fmt, ...) do {} while (0) #endif -static struct nl_handle *handle; +static struct nl_sock *handle; static struct nl_cache *cache; static struct genl_family *family; static struct nlattr *tb[SWITCH_ATTR_MAX]; @@ -507,7 +510,7 @@ swlib_priv_free(void) if (cache) nl_cache_free(cache); if (handle) - nl_handle_destroy(handle); + nl_socket_free(handle); handle = NULL; cache = NULL; } @@ -515,7 +518,9 @@ swlib_priv_free(void) static int swlib_priv_init(void) { - handle = nl_handle_alloc(); + int ret; + + handle = nl_socket_alloc(); if (!handle) { DPRINTF("Failed to create handle\n"); goto err; @@ -526,8 +531,8 @@ swlib_priv_init(void) goto err; } - cache = genl_ctrl_alloc_cache(handle); - if (!cache) { + ret = genl_ctrl_alloc_cache(handle, &cache); + if (ret < 0) { DPRINTF("Failed to allocate netlink cache\n"); goto err; } |