diff options
Diffstat (limited to 'package/swconfig/src')
| -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 fbc036555..04b3bef49 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;  	}  | 
