mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Use old iproute2 because last version doesn't compile
This commit is contained in:
		
							parent
							
								
									a34a7b3215
								
							
						
					
					
						commit
						70e48f93a0
					
				
					 17 changed files with 617 additions and 0 deletions
				
			
		
							
								
								
									
										209
									
								
								iproute2/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								iproute2/Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,209 @@ | |||
| #
 | ||||
| # Copyright (C) 2006-2015 OpenWrt.org
 | ||||
| #
 | ||||
| # This is free software, licensed under the GNU General Public License v2.
 | ||||
| # See /LICENSE for more information.
 | ||||
| #
 | ||||
| 
 | ||||
| include $(TOPDIR)/rules.mk | ||||
| 
 | ||||
| PKG_NAME:=iproute2 | ||||
| PKG_VERSION:=5.10.0 | ||||
| PKG_RELEASE:=2 | ||||
| 
 | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||||
| PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 | ||||
| PKG_HASH:=a54a34ae309c0406b2d1fb3a46158613ffb83d33fefd5d4a27f0010237ac53e9 | ||||
| PKG_BUILD_PARALLEL:=1 | ||||
| PKG_BUILD_DEPENDS:=iptables | ||||
| PKG_LICENSE:=GPL-2.0 | ||||
| PKG_CPE_ID:=cpe:/a:iproute2_project:iproute2 | ||||
| 
 | ||||
| include $(INCLUDE_DIR)/kernel.mk | ||||
| include $(INCLUDE_DIR)/package.mk | ||||
| include $(INCLUDE_DIR)/nls.mk | ||||
| 
 | ||||
| define Package/iproute2/Default | ||||
|   SECTION:=net | ||||
|   CATEGORY:=Network | ||||
|   URL:=http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 | ||||
|   SUBMENU:=Routing and Redirection | ||||
|   MAINTAINER:=Russell Senior <russell@personaltelco.net> | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-tiny | ||||
| $(call Package/iproute2/Default) | ||||
|  TITLE:=Routing control utility (Minimal) | ||||
|  VARIANT:=tiny | ||||
|  DEFAULT_VARIANT:=1 | ||||
|  PROVIDES:=ip | ||||
|  ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny | ||||
|  DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-full | ||||
| $(call Package/iproute2/Default) | ||||
|  TITLE:=Routing control utility (Full) | ||||
|  VARIANT:=full | ||||
|  PROVIDES:=ip | ||||
|  ALTERNATIVES:=300:/sbin/ip:/usr/libexec/ip-full | ||||
|  DEPENDS:=+libnl-tiny +libelf +(PACKAGE_devlink||PACKAGE_rdma):libmnl | ||||
| endef | ||||
| 
 | ||||
| define Package/tc | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Traffic control utility | ||||
|   VARIANT:=tc | ||||
|   PROVIDES:=tc | ||||
|   DEPENDS:=+kmod-sched-core +libxtables +libelf +(PACKAGE_devlink||PACKAGE_rdma):libmnl | ||||
| endef | ||||
| 
 | ||||
| define Package/genl | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=General netlink utility frontend | ||||
|   DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-bridge | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Bridge configuration utility from iproute2 | ||||
|   DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf | ||||
| endef | ||||
| 
 | ||||
| define Package/ss | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Socket statistics utility | ||||
|   DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf +kmod-netlink-diag | ||||
| endef | ||||
| 
 | ||||
| define Package/nstat | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Network statistics utility | ||||
|   DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf | ||||
| endef | ||||
| 
 | ||||
| define Package/devlink | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Network devlink utility | ||||
|   DEPENDS:=+libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf | ||||
| endef | ||||
| 
 | ||||
| define Package/rdma | ||||
| $(call Package/iproute2/Default) | ||||
|   TITLE:=Network rdma utility | ||||
|   DEPENDS:=+libmnl +(PACKAGE_tc||PACKAGE_ip-full):libelf | ||||
| endef | ||||
| 
 | ||||
| ifeq ($(BUILD_VARIANT),tiny) | ||||
|   IP_CONFIG_TINY:=y | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(BUILD_VARIANT),full) | ||||
|   HAVE_ELF:=y | ||||
|   HAVE_CAP:=n | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(BUILD_VARIANT),tc) | ||||
|   HAVE_ELF:=y | ||||
|   SHARED_LIBS:=y | ||||
| endif | ||||
| 
 | ||||
| ifdef CONFIG_PACKAGE_devlink | ||||
|   HAVE_MNL:=y | ||||
| endif | ||||
| 
 | ||||
| ifdef CONFIG_PACKAGE_rdma | ||||
|   HAVE_MNL:=y | ||||
| endif | ||||
| 
 | ||||
| define Build/Configure | ||||
| 	echo "static const char SNAPSHOT[] = \"$(PKG_VERSION)-$(PKG_RELEASE)-openwrt\";" \
 | ||||
| 		> $(PKG_BUILD_DIR)/include/SNAPSHOT.h | ||||
| endef | ||||
| 
 | ||||
| TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto | ||||
| TARGET_LDFLAGS += -Wl,--gc-sections | ||||
| TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny | ||||
| 
 | ||||
| MAKE_FLAGS += \
 | ||||
| 	KERNEL_INCLUDE="$(LINUX_DIR)/user_headers/include" \
 | ||||
| 	SHARED_LIBS=$(SHARED_LIBS) \
 | ||||
| 	IP_CONFIG_TINY=$(IP_CONFIG_TINY) \
 | ||||
| 	HAVE_ELF=$(HAVE_ELF) \
 | ||||
| 	HAVE_MNL=$(HAVE_MNL) \
 | ||||
| 	HAVE_CAP=$(HAVE_CAP) \
 | ||||
| 	IPT_LIB_DIR=/usr/lib/iptables \
 | ||||
| 	XT_LIB_DIR=/usr/lib/iptables \
 | ||||
| 	FPIC="$(FPIC)" | ||||
| 
 | ||||
| define Build/Compile | ||||
| 	+$(MAKE_VARS) $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) | ||||
| endef | ||||
| 
 | ||||
| define Build/InstallDev | ||||
| 	$(INSTALL_DIR) $(1)/usr/include | ||||
| 	$(CP) $(PKG_BUILD_DIR)/include/{libgenl,libnetlink}.h $(1)/usr/include/ | ||||
| 	$(INSTALL_DIR) $(1)/usr/lib | ||||
| 	$(CP) $(PKG_BUILD_DIR)/lib/libnetlink.a $(1)/usr/lib/ | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-tiny/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/libexec | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-tiny | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-full/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/libexec | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/libexec/ip-full | ||||
| endef | ||||
| 
 | ||||
| define Package/tc/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/sbin/ | ||||
| 	$(INSTALL_DIR) $(1)/etc/hotplug.d/iface | ||||
| 	$(INSTALL_BIN) ./files/15-teql $(1)/etc/hotplug.d/iface/ | ||||
| ifeq ($(SHARED_LIBS),y) | ||||
| 	$(INSTALL_DIR) $(1)/usr/lib/tc | ||||
| 	$(CP) $(PKG_BUILD_DIR)/tc/*.so $(1)/usr/lib/tc | ||||
| endif | ||||
| endef | ||||
| 
 | ||||
| define Package/genl/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| define Package/ip-bridge/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/bridge/bridge $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| define Package/ss/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/misc/ss $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| define Package/nstat/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/misc/nstat $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| define Package/devlink/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/devlink/devlink $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| define Package/rdma/install | ||||
| 	$(INSTALL_DIR) $(1)/usr/sbin | ||||
| 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/rdma/rdma $(1)/usr/sbin/ | ||||
| endef | ||||
| 
 | ||||
| $(eval $(call BuildPackage,ip-tiny)) | ||||
| $(eval $(call BuildPackage,ip-full)) | ||||
| $(eval $(call BuildPackage,tc)) | ||||
| $(eval $(call BuildPackage,genl)) | ||||
| $(eval $(call BuildPackage,ip-bridge)) | ||||
| $(eval $(call BuildPackage,ss)) | ||||
| $(eval $(call BuildPackage,nstat)) | ||||
| $(eval $(call BuildPackage,devlink)) | ||||
| $(eval $(call BuildPackage,rdma)) | ||||
							
								
								
									
										23
									
								
								iproute2/files/15-teql
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								iproute2/files/15-teql
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| . /lib/functions.sh | ||||
| 
 | ||||
| if [ "$ACTION" != "ifup" ]; then | ||||
| 	exit | ||||
| fi | ||||
| 
 | ||||
| config_load network | ||||
| 
 | ||||
| config_get teql $INTERFACE teql | ||||
| 
 | ||||
| if [ "$teql" != "" ]; then | ||||
|     logger Adding device $DEVICE to TEQL master $teql | ||||
|     insmod sch_teql | ||||
|     tc qdisc add dev $DEVICE root $teql | ||||
| 
 | ||||
|     # The kernel doesn't let us bring it up until it has at least one | ||||
|     # slave. So bring it up now, if it isn't already. | ||||
|     if ! cat /sys/class/net/$teql/carrier &>/dev/null; then | ||||
|         ifup $teql & | ||||
|     fi | ||||
| fi | ||||
							
								
								
									
										12
									
								
								iproute2/patches/100-configure.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								iproute2/patches/100-configure.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -34,7 +34,8 @@ int main(int argc, char **argv) {
 | ||||
|  } | ||||
|  EOF | ||||
|   | ||||
| -    if $CC -I$INCLUDE -o $TMPDIR/atmtest $TMPDIR/atmtest.c -latm >/dev/null 2>&1; then
 | ||||
| +# OpenWrt: disable ATM support even if present on host system
 | ||||
| +    if [ 1 -eq 0 ]; then
 | ||||
|  	echo "TC_CONFIG_ATM:=y" >>$CONFIG | ||||
|  	echo yes | ||||
|      else | ||||
							
								
								
									
										59
									
								
								iproute2/patches/110-darwin_fixes.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								iproute2/patches/110-darwin_fixes.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| --- a/netem/maketable.c
 | ||||
| +++ b/netem/maketable.c
 | ||||
| @@ -10,7 +10,9 @@
 | ||||
|  #include <stdio.h> | ||||
|  #include <stdlib.h> | ||||
|  #include <math.h> | ||||
| +#if !defined(__APPLE__) && !defined(__FreeBSD__)
 | ||||
|  #include <malloc.h> | ||||
| +#endif
 | ||||
|  #include <string.h> | ||||
|  #include <sys/types.h> | ||||
|  #include <sys/stat.h> | ||||
| --- a/netem/normal.c
 | ||||
| +++ b/netem/normal.c
 | ||||
| @@ -8,8 +8,12 @@
 | ||||
|  #include <string.h> | ||||
|  #include <limits.h> | ||||
|   | ||||
| +#if !defined(__APPLE__) && !defined(__FreeBSD__)
 | ||||
|  #include <linux/types.h> | ||||
|  #include <linux/pkt_sched.h> | ||||
| +#else
 | ||||
| +#define NETEM_DIST_SCALE        8192
 | ||||
| +#endif
 | ||||
|   | ||||
|  #define TABLESIZE 16384 | ||||
|  #define TABLEFACTOR NETEM_DIST_SCALE | ||||
| --- a/netem/pareto.c
 | ||||
| +++ b/netem/pareto.c
 | ||||
| @@ -7,8 +7,12 @@
 | ||||
|  #include <math.h> | ||||
|  #include <limits.h> | ||||
|   | ||||
| +#if !defined(__APPLE__) && !defined(__FreeBSD__)
 | ||||
|  #include <linux/types.h> | ||||
|  #include <linux/pkt_sched.h> | ||||
| +#else
 | ||||
| +#define NETEM_DIST_SCALE        8192
 | ||||
| +#endif
 | ||||
|   | ||||
|  static const double a=3.0; | ||||
|  #define TABLESIZE	16384 | ||||
| --- a/netem/paretonormal.c
 | ||||
| +++ b/netem/paretonormal.c
 | ||||
| @@ -14,10 +14,13 @@
 | ||||
|  #include <string.h> | ||||
|  #include <math.h> | ||||
|  #include <limits.h> | ||||
| +#if !defined(__APPLE__) && !defined(__FreeBSD__)
 | ||||
|  #include <malloc.h> | ||||
| -
 | ||||
|  #include <linux/types.h> | ||||
|  #include <linux/pkt_sched.h> | ||||
| +#else
 | ||||
| +#define NETEM_DIST_SCALE        8192
 | ||||
| +#endif
 | ||||
|   | ||||
|  #define TABLESIZE	16384 | ||||
|  #define TABLEFACTOR	NETEM_DIST_SCALE | ||||
							
								
								
									
										12
									
								
								iproute2/patches/115-add-config-xtlibdir.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								iproute2/patches/115-add-config-xtlibdir.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| --- a/tc/Makefile
 | ||||
| +++ b/tc/Makefile
 | ||||
| @@ -128,6 +128,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
 | ||||
|  ifneq ($(IPT_LIB_DIR),) | ||||
|  	CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\" | ||||
|  endif | ||||
| +ifneq ($(XT_LIB_DIR),)
 | ||||
| +	CFLAGS += -DXT_LIB_DIR=\"$(XT_LIB_DIR)\"
 | ||||
| +endif
 | ||||
|   | ||||
|  LEX := flex | ||||
|  CFLAGS += -DYY_NO_INPUT | ||||
							
								
								
									
										15
									
								
								iproute2/patches/120-no_arpd.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								iproute2/patches/120-no_arpd.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| --- a/misc/Makefile
 | ||||
| +++ b/misc/Makefile
 | ||||
| @@ -6,9 +6,9 @@ TARGETS=ss nstat ifstat rtacct lnstat
 | ||||
|   | ||||
|  include ../config.mk | ||||
|   | ||||
| -ifeq ($(HAVE_BERKELEY_DB),y)
 | ||||
| -	TARGETS += arpd
 | ||||
| -endif
 | ||||
| +#ifeq ($(HAVE_BERKELEY_DB),y)
 | ||||
| +#	TARGETS += arpd
 | ||||
| +#endif
 | ||||
|   | ||||
|  all: $(TARGETS) | ||||
|   | ||||
							
								
								
									
										11
									
								
								iproute2/patches/130-no_netem.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/130-no_netem.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/Makefile
 | ||||
| +++ b/Makefile
 | ||||
| @@ -55,7 +55,7 @@ WFLAGS += -Wmissing-declarations -Wold-s
 | ||||
|  CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) | ||||
|  YACCFLAGS = -d -t -v | ||||
|   | ||||
| -SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma man
 | ||||
| +SUBDIRS=lib ip tc bridge misc genl tipc devlink rdma man
 | ||||
|   | ||||
|  LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a | ||||
|  LDLIBS += $(LIBNETLINK) | ||||
							
								
								
									
										9
									
								
								iproute2/patches/140-allow_pfifo_fast.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								iproute2/patches/140-allow_pfifo_fast.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| --- a/tc/q_fifo.c
 | ||||
| +++ b/tc/q_fifo.c
 | ||||
| @@ -99,5 +99,6 @@ struct qdisc_util pfifo_head_drop_qdisc_
 | ||||
|   | ||||
|  struct qdisc_util pfifo_fast_qdisc_util = { | ||||
|  	.id = "pfifo_fast", | ||||
| +	.parse_qopt = fifo_parse_opt,
 | ||||
|  	.print_qopt = prio_print_opt, | ||||
|  }; | ||||
							
								
								
									
										11
									
								
								iproute2/patches/140-keep_libmnl_optional.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/140-keep_libmnl_optional.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -257,7 +257,7 @@ check_selinux()
 | ||||
|   | ||||
|  check_mnl() | ||||
|  { | ||||
| -	if ${PKG_CONFIG} libmnl --exists; then
 | ||||
| +	if [ "${HAVE_MNL}" = "y" ] && ${PKG_CONFIG} libmnl --exists; then
 | ||||
|  		echo "HAVE_MNL:=y" >>$CONFIG | ||||
|  		echo "yes" | ||||
|   | ||||
							
								
								
									
										11
									
								
								iproute2/patches/145-keep_libelf_optional.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/145-keep_libelf_optional.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -230,7 +230,7 @@ EOF
 | ||||
|   | ||||
|  check_elf() | ||||
|  { | ||||
| -    if ${PKG_CONFIG} libelf --exists; then
 | ||||
| +    if [ "${HAVE_ELF}" = "y" ] && ${PKG_CONFIG} libelf --exists; then
 | ||||
|  	echo "HAVE_ELF:=y" >>$CONFIG | ||||
|  	echo "yes" | ||||
|   | ||||
							
								
								
									
										11
									
								
								iproute2/patches/150-keep_libcap_optional.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/150-keep_libcap_optional.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -315,7 +315,7 @@ EOF
 | ||||
|   | ||||
|  check_cap() | ||||
|  { | ||||
| -	if ${PKG_CONFIG} libcap --exists; then
 | ||||
| +	if [ "${HAVE_CAP}" = "y" ] && ${PKG_CONFIG} libcap --exists; then
 | ||||
|  		echo "HAVE_CAP:=y" >>$CONFIG | ||||
|  		echo "yes" | ||||
|   | ||||
							
								
								
									
										11
									
								
								iproute2/patches/160-libnetlink-pic.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/160-libnetlink-pic.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/lib/Makefile
 | ||||
| +++ b/lib/Makefile
 | ||||
| @@ -1,7 +1,7 @@
 | ||||
|  # SPDX-License-Identifier: GPL-2.0 | ||||
|  include ../config.mk | ||||
|   | ||||
| -CFLAGS += -fPIC
 | ||||
| +CFLAGS += $(FPIC)
 | ||||
|   | ||||
|  UTILOBJ = utils.o rt_names.o ll_map.o ll_types.o ll_proto.o ll_addr.o \ | ||||
|  	inet_proto.o namespace.o json_writer.o json_print.o \ | ||||
							
								
								
									
										108
									
								
								iproute2/patches/170-ip_tiny.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								iproute2/patches/170-ip_tiny.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,108 @@ | |||
| --- a/ip/Makefile
 | ||||
| +++ b/ip/Makefile
 | ||||
| @@ -17,6 +17,13 @@ RTMONOBJ=rtmon.o
 | ||||
|   | ||||
|  include ../config.mk | ||||
|   | ||||
| +STATIC_SYM_FILTER:=
 | ||||
| +ifeq ($(IP_CONFIG_TINY),y)
 | ||||
| +  STATIC_SYM_FILTER:=iplink_can.c iplink_ipoib.c iplink_vxlan.c
 | ||||
| +  CFLAGS += -DIPROUTE2_TINY
 | ||||
| +endif
 | ||||
| +STATIC_SYM_SOURCES:=$(filter-out $(STATIC_SYM_FILTER),$(wildcard *.c))
 | ||||
| +
 | ||||
|  ALLOBJ=$(IPOBJ) $(RTMONOBJ) | ||||
|  SCRIPTS=ifcfg rtpr routel routef | ||||
|  TARGETS=ip rtmon | ||||
| @@ -46,7 +53,7 @@ else
 | ||||
|   | ||||
|  ip: static-syms.o | ||||
|  static-syms.o: static-syms.h | ||||
| -static-syms.h: $(wildcard *.c)
 | ||||
| +static-syms.h: $(STATIC_SYM_SOURCES)
 | ||||
|  	files="$^" ; \ | ||||
|  	for s in `grep -B 3 '\<dlsym' $$files | sed -n '/snprintf/{s:.*"\([^"]*\)".*:\1:;s:%s::;p}'` ; do \ | ||||
|  		sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ | ||||
| --- a/ip/ip.c
 | ||||
| +++ b/ip/ip.c
 | ||||
| @@ -48,10 +48,16 @@ static void usage(void)
 | ||||
|  	fprintf(stderr, | ||||
|  		"Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n" | ||||
|  		"       ip [ -force ] -batch filename\n" | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  		"where  OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |\n" | ||||
|  		"                   tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |\n" | ||||
|  		"                   netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |\n" | ||||
|  		"                   vrf | sr | nexthop | mptcp }\n" | ||||
| +#else
 | ||||
| +		"where  OBJECT := { link | address | route | rule | neigh | tunnel | maddress |\n"
 | ||||
| +		"                   mroute | mrule | monitor | netns | macsec | token | ila |\n"
 | ||||
| +		"                   vrf | sr }\n"
 | ||||
| +#endif
 | ||||
|  		"       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n" | ||||
|  		"                    -h[uman-readable] | -iec | -j[son] | -p[retty] |\n" | ||||
|  		"                    -f[amily] { inet | inet6 | mpls | bridge | link } |\n" | ||||
| @@ -74,36 +80,50 @@ static const struct cmd {
 | ||||
|  	int (*func)(int argc, char **argv); | ||||
|  } cmds[] = { | ||||
|  	{ "address",	do_ipaddr }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "addrlabel",	do_ipaddrlabel }, | ||||
| +#endif
 | ||||
|  	{ "maddress",	do_multiaddr }, | ||||
|  	{ "route",	do_iproute }, | ||||
|  	{ "rule",	do_iprule }, | ||||
|  	{ "neighbor",	do_ipneigh }, | ||||
|  	{ "neighbour",	do_ipneigh }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "ntable",	do_ipntable }, | ||||
|  	{ "ntbl",	do_ipntable }, | ||||
| +#endif
 | ||||
|  	{ "link",	do_iplink }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "l2tp",	do_ipl2tp }, | ||||
|  	{ "fou",	do_ipfou }, | ||||
| +#endif
 | ||||
|  	{ "ila",	do_ipila }, | ||||
|  	{ "macsec",	do_ipmacsec }, | ||||
|  	{ "tunnel",	do_iptunnel }, | ||||
|  	{ "tunl",	do_iptunnel }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "tuntap",	do_iptuntap }, | ||||
|  	{ "tap",	do_iptuntap }, | ||||
|  	{ "token",	do_iptoken }, | ||||
|  	{ "tcpmetrics",	do_tcp_metrics }, | ||||
|  	{ "tcp_metrics", do_tcp_metrics }, | ||||
| +#endif
 | ||||
|  	{ "monitor",	do_ipmonitor }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "xfrm",	do_xfrm }, | ||||
| +#endif
 | ||||
|  	{ "mroute",	do_multiroute }, | ||||
|  	{ "mrule",	do_multirule }, | ||||
|  	{ "netns",	do_netns }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "netconf",	do_ipnetconf }, | ||||
| +#endif
 | ||||
|  	{ "vrf",	do_ipvrf}, | ||||
|  	{ "sr",		do_seg6 }, | ||||
| +#ifndef IPROUTE2_TINY
 | ||||
|  	{ "nexthop",	do_ipnh }, | ||||
|  	{ "mptcp",	do_mptcp }, | ||||
| +#endif
 | ||||
|  	{ "help",	do_help }, | ||||
|  	{ 0 } | ||||
|  }; | ||||
| --- a/lib/Makefile
 | ||||
| +++ b/lib/Makefile
 | ||||
| @@ -3,6 +3,10 @@ include ../config.mk
 | ||||
|   | ||||
|  CFLAGS += $(FPIC) | ||||
|   | ||||
| +ifeq ($(IP_CONFIG_TINY),y)
 | ||||
| +  CFLAGS += -DIPROUTE2_TINY
 | ||||
| +endif
 | ||||
| +
 | ||||
|  UTILOBJ = utils.o rt_names.o ll_map.o ll_types.o ll_proto.o ll_addr.o \ | ||||
|  	inet_proto.o namespace.o json_writer.o json_print.o \ | ||||
|  	names.o color.o bpf.o exec.o fs.o cg_map.o | ||||
							
								
								
									
										44
									
								
								iproute2/patches/175-reduce-dynamic-syms.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								iproute2/patches/175-reduce-dynamic-syms.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| --- a/tc/Makefile
 | ||||
| +++ b/tc/Makefile
 | ||||
| @@ -114,7 +114,7 @@ LDLIBS += -L. -lm
 | ||||
|   | ||||
|  ifeq ($(SHARED_LIBS),y) | ||||
|  LDLIBS += -ldl | ||||
| -LDFLAGS += -Wl,-export-dynamic
 | ||||
| +LDFLAGS += -Wl,--dynamic-list=dynsyms.list
 | ||||
|  endif | ||||
|   | ||||
|  TCLIB := tc_core.o | ||||
| @@ -144,7 +144,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
 | ||||
|  all: tc $(TCSO) | ||||
|   | ||||
|  tc: $(TCOBJ) $(LIBNETLINK) libtc.a | ||||
| -	$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
 | ||||
| +	$(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@
 | ||||
|   | ||||
|  libtc.a: $(TCLIB) | ||||
|  	$(QUIET_AR)$(AR) rcs $@ $^ | ||||
| @@ -166,6 +166,7 @@ install: all
 | ||||
|  clean: | ||||
|  	rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \ | ||||
|  	rm -f emp_ematch.tab.* | ||||
| +	rm -f dynsyms.list
 | ||||
|   | ||||
|  q_atm.so: q_atm.c | ||||
|  	$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm | ||||
| @@ -205,4 +206,15 @@ static-syms.h: $(wildcard *.c)
 | ||||
|  		sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ | ||||
|  	done > $@ | ||||
|   | ||||
| +else
 | ||||
| +
 | ||||
| +tc: dynsyms.list
 | ||||
| +dynsyms.list: $(wildcard *.c)
 | ||||
| +	files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \
 | ||||
| +	echo "{" > $@ ; \
 | ||||
| +	for s in `grep -B 3 '\<dlsym' $$files | sed -n '/snprintf/{s:.*"\([^"]*\)".*:\1:;s:%s::;p}'` ; do \
 | ||||
| +		sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:\1;:;p}' $$files ; \
 | ||||
| +	done >> $@ ; \
 | ||||
| +	echo "show_stats; print_nl; print_tm; parse_rtattr; parse_rtattr_flags; get_u32; matches; addattr_l; addattr_nest; addattr_nest_end; };" >> $@
 | ||||
| +
 | ||||
|  endif | ||||
							
								
								
									
										41
									
								
								iproute2/patches/180-drop_FAILED_POLICY.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								iproute2/patches/180-drop_FAILED_POLICY.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| From 4e7dbf76227e8c7be7897dc81def3011f637864d Mon Sep 17 00:00:00 2001 | ||||
| From: Jonas Gorski <jogo@openwrt.org> | ||||
| Date: Thu, 30 May 2013 11:54:04 +0200 | ||||
| Subject: [PATCH] add support for dropping with FAILED_POLICY | ||||
| 
 | ||||
| ---
 | ||||
|  include/linux/fib_rules.h |    4 ++++ | ||||
|  include/linux/rtnetlink.h |    1 + | ||||
|  ip/rtm_map.c              |    4 ++++ | ||||
|  3 files changed, 9 insertions(+) | ||||
| 
 | ||||
| --- a/ip/rtm_map.c
 | ||||
| +++ b/ip/rtm_map.c
 | ||||
| @@ -54,6 +54,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
 | ||||
|  		return "nat"; | ||||
|  	case RTN_XRESOLVE: | ||||
|  		return "xresolve"; | ||||
| +	case RTN_FAILED_POLICY:
 | ||||
| +		return "failed_policy";
 | ||||
|  	default: | ||||
|  		snprintf(buf, len, "%d", id); | ||||
|  		return buf; | ||||
| @@ -89,6 +91,8 @@ int rtnl_rtntype_a2n(int *id, char *arg)
 | ||||
|  		res = RTN_UNICAST; | ||||
|  	else if (strcmp(arg, "throw") == 0) | ||||
|  		res = RTN_THROW; | ||||
| +	else if (strcmp(arg, "failed_policy") == 0)
 | ||||
| +		res = RTN_FAILED_POLICY;
 | ||||
|  	else { | ||||
|  		res = strtoul(arg, &end, 0); | ||||
|  		if (!end || end == arg || *end || res > 255) | ||||
| --- a/include/uapi/linux/rtnetlink.h
 | ||||
| +++ b/include/uapi/linux/rtnetlink.h
 | ||||
| @@ -249,6 +249,7 @@ enum {
 | ||||
|  	RTN_THROW,		/* Not in this table		*/ | ||||
|  	RTN_NAT,		/* Translate this address	*/ | ||||
|  	RTN_XRESOLVE,		/* Use external resolver	*/ | ||||
| +	RTN_FAILED_POLICY,      /* Source address failed policy */
 | ||||
|  	__RTN_MAX | ||||
|  }; | ||||
|   | ||||
							
								
								
									
										19
									
								
								iproute2/patches/200-drop_libbsd_dependency.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								iproute2/patches/200-drop_libbsd_dependency.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -301,14 +301,8 @@ EOF
 | ||||
|      if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then | ||||
|  	echo "no" | ||||
|      else | ||||
| -	if ${PKG_CONFIG} libbsd --exists; then
 | ||||
| -		echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG
 | ||||
| -		echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG
 | ||||
| -		echo "no"
 | ||||
| -	else
 | ||||
| -		echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
 | ||||
| -		echo "yes"
 | ||||
| -	fi
 | ||||
| +	echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
 | ||||
| +	echo "yes"
 | ||||
|      fi | ||||
|      rm -f $TMPDIR/strtest.c $TMPDIR/strtest | ||||
|  } | ||||
							
								
								
									
										11
									
								
								iproute2/patches/300-selinux-configurable.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								iproute2/patches/300-selinux-configurable.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| --- a/configure
 | ||||
| +++ b/configure
 | ||||
| @@ -244,7 +244,7 @@ check_elf()
 | ||||
|  check_selinux() | ||||
|  # SELinux is a compile time option in the ss utility | ||||
|  { | ||||
| -	if ${PKG_CONFIG} libselinux --exists; then
 | ||||
| +	if [ "${HAVE_SELINUX}" = "y" ] && ${PKG_CONFIG} libselinux --exists; then
 | ||||
|  		echo "HAVE_SELINUX:=y" >>$CONFIG | ||||
|  		echo "yes" | ||||
|   | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue