libnl: update to version 2.0 (patch by Philip Prindeville)
SVN-Revision: 25513
This commit is contained in:
		| @@ -8,12 +8,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=libnl | ||||
| PKG_VERSION:=1.1 | ||||
| PKG_RELEASE:=4 | ||||
| PKG_VERSION:=2.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | ||||
| PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/ | ||||
| PKG_MD5SUM:=ae970ccd9144e132b68664f98e7ceeb1 | ||||
| PKG_SOURCE_URL:=http://www.infradead.org/~tgr/libnl/files/ | ||||
| PKG_MD5SUM:=6aaf1e9802a17a7d702bb0638044ffa7 | ||||
|  | ||||
| include $(INCLUDE_DIR)/package.mk | ||||
|  | ||||
| @@ -46,6 +46,10 @@ endef | ||||
|  | ||||
| define Package/libnl/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/lib | ||||
| 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route.so.* $(1)/usr/lib/ | ||||
| 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl.so.* $(1)/usr/lib/ | ||||
| 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf.so.* $(1)/usr/lib/ | ||||
| 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route.so.* $(1)/usr/lib/ | ||||
| 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl.so.* $(1)/usr/lib/ | ||||
| endef | ||||
|  | ||||
|   | ||||
| @@ -1,44 +0,0 @@ | ||||
| --- a/lib/Makefile | ||||
| +++ b/lib/Makefile | ||||
| @@ -36,6 +36,7 @@ CFLAGS   += -fPIC | ||||
|  OUT_SLIB := $(PACKAGE_NAME).so.$(PACKAGE_VERSION) | ||||
|  LN_SLIB  := $(PACKAGE_NAME).so | ||||
|  LN1_SLIB := $(LN_SLIB).1 | ||||
| +OUT_ALIB := $(PACKAGE_NAME).a | ||||
|   | ||||
|  export | ||||
|   | ||||
| @@ -44,7 +45,7 @@ export | ||||
|   | ||||
|  all: | ||||
|  	@echo "  MAKE $(OUT_SLIB)"; \ | ||||
| -	$(MAKE) $(OUT_SLIB) | ||||
| +	$(MAKE) $(OUT_SLIB) $(OUT_ALIB) | ||||
|   | ||||
|  $(OUT_SLIB): ../Makefile.opts $(OBJ) | ||||
|  	@echo "  LD $(OUT_SLIB)"; \ | ||||
| @@ -54,10 +55,15 @@ $(OUT_SLIB): ../Makefile.opts $(OBJ) | ||||
|  	@echo "  LN $(LN1_SLIB) $(LN_SLIB)"; \ | ||||
|  	rm -f $(LN_SLIB) ; $(LN) -s $(LN1_SLIB) $(LN_SLIB) | ||||
|   | ||||
| +$(OUT_ALIB): ../Makefile.opts $(OBJ) | ||||
| +	@echo "  AR $@"; \ | ||||
| +	$(AR) rcu $@ $(OBJ); \ | ||||
| +	$(RANLIB) $@ | ||||
| + | ||||
|  clean: | ||||
|  	@echo "  CLEAN lib"; \ | ||||
|  	$(RM) -f $(OBJ) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB); \ | ||||
| -	$(RM) -f $(DEPS) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB) | ||||
| +	$(RM) -f $(DEPS) $(OUT_ALIB) $(LN_SLIB) $(LN1_SLIB) | ||||
|   | ||||
|  distclean: | ||||
|  	@echo "  DISTCLEAN lib"; \ | ||||
| @@ -66,6 +72,7 @@ distclean: | ||||
|  install: | ||||
|  	mkdir -p $(DESTDIR)$(libdir)/ | ||||
|  	install -m 0644 $(OUT_SLIB) $(DESTDIR)$(libdir) | ||||
| +	install -m 0644 $(OUT_ALIB) $(DESTDIR)$(libdir) | ||||
|  	rm -f $(DESTDIR)$(libdir)/$(LN1_SLIB) | ||||
|  	$(LN) -s $(OUT_SLIB) $(DESTDIR)$(libdir)/$(LN1_SLIB) | ||||
|  	rm -f $(DESTDIR)$(libdir)/$(LN_SLIB) | ||||
| @@ -1,77 +0,0 @@ | ||||
| From: Patrick McHardy <kaber@trash.net> | ||||
| Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100) | ||||
| Subject: [LIBNL]: Add if_vlan.h | ||||
| X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958 | ||||
|  | ||||
| [LIBNL]: Add if_vlan.h | ||||
|  | ||||
| vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in | ||||
| older if_vlan.h versions. Add the current version from the kernel. | ||||
|  | ||||
| Signed-off-by: Patrick McHardy <kaber@trash.net> | ||||
| --- | ||||
|  | ||||
| --- /dev/null | ||||
| +++ b/include/linux/if_vlan.h | ||||
| @@ -0,0 +1,61 @@ | ||||
| +/* | ||||
| + * VLAN		An implementation of 802.1Q VLAN tagging. | ||||
| + * | ||||
| + * Authors:	Ben Greear <greearb@candelatech.com> | ||||
| + * | ||||
| + *		This program is free software; you can redistribute it and/or | ||||
| + *		modify it under the terms of the GNU General Public License | ||||
| + *		as published by the Free Software Foundation; either version | ||||
| + *		2 of the License, or (at your option) any later version. | ||||
| + * | ||||
| + */ | ||||
| + | ||||
| +#ifndef _LINUX_IF_VLAN_H_ | ||||
| +#define _LINUX_IF_VLAN_H_ | ||||
| + | ||||
| + | ||||
| +/* VLAN IOCTLs are found in sockios.h */ | ||||
| + | ||||
| +/* Passed in vlan_ioctl_args structure to determine behaviour. */ | ||||
| +enum vlan_ioctl_cmds { | ||||
| +	ADD_VLAN_CMD, | ||||
| +	DEL_VLAN_CMD, | ||||
| +	SET_VLAN_INGRESS_PRIORITY_CMD, | ||||
| +	SET_VLAN_EGRESS_PRIORITY_CMD, | ||||
| +	GET_VLAN_INGRESS_PRIORITY_CMD, | ||||
| +	GET_VLAN_EGRESS_PRIORITY_CMD, | ||||
| +	SET_VLAN_NAME_TYPE_CMD, | ||||
| +	SET_VLAN_FLAG_CMD, | ||||
| +	GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */ | ||||
| +	GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */ | ||||
| +}; | ||||
| + | ||||
| +enum vlan_flags { | ||||
| +	VLAN_FLAG_REORDER_HDR	= 0x1, | ||||
| +}; | ||||
| + | ||||
| +enum vlan_name_types { | ||||
| +	VLAN_NAME_TYPE_PLUS_VID, /* Name will look like:  vlan0005 */ | ||||
| +	VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like:  eth1.0005 */ | ||||
| +	VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like:  vlan5 */ | ||||
| +	VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like:  eth0.5 */ | ||||
| +	VLAN_NAME_TYPE_HIGHEST | ||||
| +}; | ||||
| + | ||||
| +struct vlan_ioctl_args { | ||||
| +	int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */ | ||||
| +	char device1[24]; | ||||
| + | ||||
| +        union { | ||||
| +		char device2[24]; | ||||
| +		int VID; | ||||
| +		unsigned int skb_priority; | ||||
| +		unsigned int name_type; | ||||
| +		unsigned int bind_type; | ||||
| +		unsigned int flag; /* Matches vlan_dev_info flags */ | ||||
| +        } u; | ||||
| + | ||||
| +	short vlan_qos; | ||||
| +}; | ||||
| + | ||||
| +#endif /* !(_LINUX_IF_VLAN_H_) */ | ||||
| @@ -1,38 +0,0 @@ | ||||
| From: Patrick McHardy <kaber@trash.net> | ||||
| Date: Fri, 18 Jan 2008 16:55:49 +0000 (+0100) | ||||
| Subject: [LIBNL]: Fix minor memleaks on exit | ||||
| X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=b64f15d6f947839236fa276d473d238f8c9b9d57;hp=e91bb2ffb090955d443e643a25b250bf3d33534a | ||||
|  | ||||
| [LIBNL]: Fix minor memleaks on exit | ||||
|  | ||||
| Make valgrind happy ... | ||||
|  | ||||
| Signed-off-by: Patrick McHardy <kaber@trash.net> | ||||
| --- | ||||
|  | ||||
| --- a/lib/route/route_utils.c | ||||
| +++ b/lib/route/route_utils.c | ||||
| @@ -63,6 +63,11 @@ static void __init init_routing_table_na | ||||
|  	add_routing_table_name(RT_TABLE_LOCAL, "local"); | ||||
|  }; | ||||
|   | ||||
| +static void __exit release_routing_table_names(void) | ||||
| +{ | ||||
| +	__trans_list_clear(&table_names); | ||||
| +} | ||||
| + | ||||
|  int rtnl_route_read_table_names(const char *path) | ||||
|  { | ||||
|  	__trans_list_clear(&table_names); | ||||
| @@ -104,6 +109,11 @@ static void __init init_proto_names(void | ||||
|  	add_proto_name(RTPROT_STATIC, "static"); | ||||
|  }; | ||||
|   | ||||
| +static void __exit release_proto_names(void) | ||||
| +{ | ||||
| +	__trans_list_clear(&proto_names); | ||||
| +} | ||||
| + | ||||
|  int rtnl_route_read_protocol_names(const char *path) | ||||
|  { | ||||
|  	__trans_list_clear(&proto_names); | ||||
| @@ -1,66 +0,0 @@ | ||||
| --- a/include/netlink/genl/mngt.h | ||||
| +++ b/include/netlink/genl/mngt.h | ||||
| @@ -22,6 +22,15 @@ extern "C" { | ||||
|   | ||||
|  struct nl_cache_ops; | ||||
|   | ||||
| +struct genl_info | ||||
| +{ | ||||
| +        struct sockaddr_nl *    who; | ||||
| +        struct nlmsghdr *       nlh; | ||||
| +	struct genlmsghdr *     genlhdr; | ||||
| +	void *                  userhdr; | ||||
| +	struct nlattr **        attrs; | ||||
| +}; | ||||
| + | ||||
|  /** | ||||
|   * @ingroup genl_mngt | ||||
|   * Generic Netlink Command | ||||
| --- a/include/netlink-types.h | ||||
| +++ b/include/netlink-types.h | ||||
| @@ -95,15 +95,6 @@ struct nl_cache_mngr | ||||
|   | ||||
|  struct nl_parser_param; | ||||
|   | ||||
| -struct genl_info | ||||
| -{ | ||||
| -	struct sockaddr_nl *	who; | ||||
| -	struct nlmsghdr *	nlh; | ||||
| -	struct genlmsghdr *	genlhdr; | ||||
| -	void *			userhdr; | ||||
| -	struct nlattr **	attrs; | ||||
| -}; | ||||
| - | ||||
|  #define LOOSE_FLAG_COMPARISON	1 | ||||
|   | ||||
|  #define NL_OBJ_MARK		1 | ||||
| --- a/src/nl-list-caches.c | ||||
| +++ b/src/nl-list-caches.c | ||||
| @@ -10,6 +10,7 @@ | ||||
|   */ | ||||
|   | ||||
|  #include "utils.h" | ||||
| +#include <netlink-local.h> | ||||
|   | ||||
|  static void print_usage(void) | ||||
|  { | ||||
| --- a/src/utils.c | ||||
| +++ b/src/utils.c | ||||
| @@ -12,6 +12,7 @@ | ||||
|  #include "utils.h" | ||||
|   | ||||
|  #include <stdlib.h> | ||||
| +#include <stdarg.h> | ||||
|   | ||||
|  int nltool_init(int argc, char *argv[]) | ||||
|  { | ||||
| --- a/src/utils.h | ||||
| +++ b/src/utils.h | ||||
| @@ -22,7 +22,6 @@ | ||||
|  #include <sys/types.h> | ||||
|  #include <sys/socket.h> | ||||
|   | ||||
| -#include <netlink-local.h> | ||||
|  #include <netlink/netlink.h> | ||||
|  #include <netlink/utils.h> | ||||
|  #include <netlink/addr.h> | ||||
| @@ -1,11 +0,0 @@ | ||||
| --- a/libnl-1.pc.in | ||||
| +++ b/libnl-1.pc.in | ||||
| @@ -1,7 +1,7 @@ | ||||
|  prefix=@prefix@ | ||||
|  exec_prefix=@prefix@ | ||||
|  libdir=@libdir@ | ||||
| -includedir=@prefix@/include | ||||
| +includedir=@includedir@ | ||||
|   | ||||
|  Name: libnl | ||||
|  Description: Convenience library for netlink sockets | ||||
| @@ -1,10 +0,0 @@ | ||||
| --- a/include/netlink-local.h | ||||
| +++ b/include/netlink-local.h | ||||
| @@ -26,6 +26,7 @@ | ||||
|  #include <sys/socket.h> | ||||
|  #include <inttypes.h> | ||||
|  #include <assert.h> | ||||
| +#include <limits.h> | ||||
|   | ||||
|  #include <arpa/inet.h> | ||||
|  #include <netdb.h> | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau