mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Remove iproute2
This commit is contained in:
		
							parent
							
								
									ac5f2b2e1e
								
							
						
					
					
						commit
						07d5d434ea
					
				
					 17 changed files with 0 additions and 617 deletions
				
			
		| 
						 | 
				
			
			@ -1,209 +0,0 @@
 | 
			
		|||
#
 | 
			
		||||
# 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))
 | 
			
		||||
| 
						 | 
				
			
			@ -1,23 +0,0 @@
 | 
			
		|||
#!/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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,59 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,15 +0,0 @@
 | 
			
		|||
--- 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)
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
--- 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,
 | 
			
		||||
 };
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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"
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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"
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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"
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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 \
 | 
			
		||||
| 
						 | 
				
			
			@ -1,108 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,44 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,41 +0,0 @@
 | 
			
		|||
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
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,19 +0,0 @@
 | 
			
		|||
--- 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
 | 
			
		||||
 }
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +0,0 @@
 | 
			
		|||
--- 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