swconfig: use libnl-tiny instead of libnl
SVN-Revision: 15508
This commit is contained in:
parent
938553bd69
commit
ad9d1857a5
2 changed files with 19 additions and 13 deletions
|
@ -6,24 +6,25 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
|
||||||
|
|
||||||
PKG_NAME:=kmod-swconfig
|
PKG_NAME:=swconfig
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_BUILD_DEPENDS:=libnl
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
define Package/swconfig
|
define Package/swconfig
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
DEPENDS:=@LINUX_2_6_26||LINUX_2_6_27||LINUX_2_6_28||LINUX_2_6_29 +libuci
|
DEPENDS:=@LINUX_2_6_26||LINUX_2_6_27||LINUX_2_6_28||LINUX_2_6_29 +libuci +libnl-tiny
|
||||||
TITLE:=Switch configuration utility
|
TITLE:=Switch configuration utility
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CPPFLAGS += \
|
TARGET_CPPFLAGS := \
|
||||||
|
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
||||||
-I$(LINUX_DIR)/include \
|
-I$(LINUX_DIR)/include \
|
||||||
-I$(PKG_BUILD_DIR)
|
-I$(PKG_BUILD_DIR) \
|
||||||
|
$(TARGET_CPPFLAGS)
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
mkdir -p $(PKG_BUILD_DIR)
|
mkdir -p $(PKG_BUILD_DIR)
|
||||||
|
@ -31,10 +32,10 @@ define Build/Prepare
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
$(TARGET_CONFIGURE_OPTS) \
|
||||||
LIBS="-L$(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/lib/libnl.a -lm -luci"
|
LIBS="$(TARGET_LDFLAGS) -lnl-tiny -lm -luci"
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/swconfig/install
|
define Package/swconfig/install
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <linux/switch.h>
|
#include <linux/switch.h>
|
||||||
#include "swlib.h"
|
#include "swlib.h"
|
||||||
|
#include <netlink/netlink.h>
|
||||||
|
#include <netlink/genl/genl.h>
|
||||||
|
#include <netlink/genl/family.h>
|
||||||
|
|
||||||
//#define DEBUG 1
|
//#define DEBUG 1
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -32,7 +35,7 @@
|
||||||
#define DPRINTF(fmt, ...) do {} while (0)
|
#define DPRINTF(fmt, ...) do {} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct nl_handle *handle;
|
static struct nl_sock *handle;
|
||||||
static struct nl_cache *cache;
|
static struct nl_cache *cache;
|
||||||
static struct genl_family *family;
|
static struct genl_family *family;
|
||||||
static struct nlattr *tb[SWITCH_ATTR_MAX];
|
static struct nlattr *tb[SWITCH_ATTR_MAX];
|
||||||
|
@ -507,7 +510,7 @@ swlib_priv_free(void)
|
||||||
if (cache)
|
if (cache)
|
||||||
nl_cache_free(cache);
|
nl_cache_free(cache);
|
||||||
if (handle)
|
if (handle)
|
||||||
nl_handle_destroy(handle);
|
nl_socket_free(handle);
|
||||||
handle = NULL;
|
handle = NULL;
|
||||||
cache = NULL;
|
cache = NULL;
|
||||||
}
|
}
|
||||||
|
@ -515,7 +518,9 @@ swlib_priv_free(void)
|
||||||
static int
|
static int
|
||||||
swlib_priv_init(void)
|
swlib_priv_init(void)
|
||||||
{
|
{
|
||||||
handle = nl_handle_alloc();
|
int ret;
|
||||||
|
|
||||||
|
handle = nl_socket_alloc();
|
||||||
if (!handle) {
|
if (!handle) {
|
||||||
DPRINTF("Failed to create handle\n");
|
DPRINTF("Failed to create handle\n");
|
||||||
goto err;
|
goto err;
|
||||||
|
@ -526,8 +531,8 @@ swlib_priv_init(void)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
cache = genl_ctrl_alloc_cache(handle);
|
ret = genl_ctrl_alloc_cache(handle, &cache);
|
||||||
if (!cache) {
|
if (ret < 0) {
|
||||||
DPRINTF("Failed to allocate netlink cache\n");
|
DPRINTF("Failed to allocate netlink cache\n");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue